LP质押奖励智能合约开发

供应商
广州杰肯狸网络科技有限公司
认证
联系电话
18125913365
手机号
19927739756
联系人
何经理
所在地
广州天河区中山大道
更新时间
2024-05-03 10:48

详细介绍

lp质押奖励智能合约开发 defi质押lp流动性借贷理财dapp系统  lp流动性dapp-lp质押合约开发写入方法

stake(uint256 pid, uint256 amount, addressto) 质押代币到指定池子。pid 表示池子的id,amount 表示质押的数量,to 表示用户的地址。注意:调用此接口之前必须确保质押合约拥有用户足额的代币授权,参考 erc-20token standard |ethereum.org 中 approve 方法。

unstake(uint256 pid, uint256 amount, addressto) 解除代币质押。pid 表示池子的id,amount 表示质押的数量,to 表示用户到账地址。

claim(uint256 pid, addressto) 领取质押奖励。pid 表示池子的id,to 表示用户到账地址。

unstakeandclaim(uint256 pid, uint256 amount, addressto) 解除代币质押并领取质押奖励。pid 表示池子的id,amount 表示质押的数量,to 表示用户到账地址。


计算规则

annual percentage rate (apr)

查询total staked并将单位转换为美元

查询today’s rewards并将单位转换为美元

用第二步计算的值除以第一步计算的值然后乘以365

total rewards

let blocks = stakingsharedpooll2.endblock() - stakingsharedpooll2.startblock()let tokenperblock = stakingsharedpooll2.tokenperblock()let allocpoint = stakingsharedpooll2.pollinfo(pid).allocpoint;return tokenperblock * blocks * (allocpoint / stakingsharedpooll2.totalallocpoint())

today’s rewards
每个区块奖励数量乘以每天产生的区块数(币安链三秒产生一个区块)

let tokenperblock = stakingsharedpooll2.tokenperblock()let allocpoint = stakingsharedpooll2.pollinfo(pid).allocpoint;return tokenperblock * (allocpoint / stakingsharedpooll2.totalallocpoint()) * (60 * 60 * 24


staking period
(stakingsharedpooll2.endblock - stakingsharedpooll2.startblock) * 3/ (60 * 60 * 24)

your stake percentage
stakingsharedpooll2.userinfo(pid, user).amount /stakingsharedpooll2.poolinfo(pid).totalstaked

ends in
使用 rpc接口 eth_blocknumber 获取当前区块高度。
(stakingsharedpooll2.endblock - currentbloack) * 3 / (60 * 60 *24)


展开全文

我们其他产品
我们的新闻
优质商家推荐 拨打电话