广州

点击搜索

发布

DAPP合约质押挖矿系统开发

区域:
广州 > 天河 > 珠江新城/跑马场
类别:
软件开发
地址:
广州天河区
  分布式存储是Web3.0的数据存储层:分布式存储为Web3.0提供底层技术支持【181公链2591合约開发3365微电】在Web3.0的应用中,用户交互、身份认证等都需要去中心化的方式进行存储。分布式存储的特性在于高拓展、易运维、效率高,更符合Web3.0的减少中心化巨头的垄断、将个人价值发挥到大程度的理念。其中,IPFS是实现分布式存储的技术路径之一,具有去中心化、用户共建、价值激励等特性。
DAPP是在底层区块链平台衍生的各种分布式应用,是区块链世界中的服务提供形式。它被认为是开启区块链3.0时代的标志。去中心化应用(Dapp)一般是指运行在分布式网络上,参与者的信息被安全保护(也可能是匿名的),通过网络节点不同人,进行去中心化操作的应用。从以太坊角度来说它是一个交易协议,根据区块链上设定的条件来执行的一个合约或者一组合约。
  // Views
  function lastTimeRewardApplicable() external view returns (uint256);     // 有奖励的近时间
  function rewardPerToken() external view returns (uint256);               // 每单位Token的奖励数量
  function earned(address account) external view returns (uint256);       // 用户已赚但未提取的奖励数量
  function getRewardForDuration() external view returns (uint256);       // 挖矿奖励总量
  function totalSupply() external view returns (uint256);                   // 总质押量
  function balanceOf(address account) external view returns (uint256);   // 用户的质押

  // Mutative
  function stake(uint256 amount) external;     // 充值
  function withdraw(uint256 amount) external; // 提现,即解质押
  function getReward() external;               // 提取奖励
  function exit() external;                       // 退出
合约开发中遇到很多质押挖矿类的需求,单币质押、双币质押、算力挖矿等等,这些需求大多都是美秒产多少币(每个块产多少币),根据质押的量加权平分产出的币。如果中心化的程序很容易完成这个需求,但在区块链上没有定时器,不能实现大量循环。这些局限让我们体会了区块链的极简之美。为了实现质押挖矿采用了以下算法

  (此阶段产量/A)+(此阶段产量/A+B)+(此阶段产量/A+B+C)+......

  实际上是算的是每个阶段每个币挖矿数量的之和。

类似Ownable合约,rewardsDistribution是管理员地址,还有一个modifier:onlyRewardsDistribution和onlyOwner()一样的功能。notifyRewardAmount是一个抽象函数,StakingRewards合约继承了该合约。
pragma solidity ^0.5.16;

contract RewardsDistributionRecipient {
  address public rewardsDistribution;

  function notifyRewardAmount(uint256 reward) external;

  modifier onlyRewardsDistribution() {
    require(msg.sender == rewardsDistribution, "Caller is not RewardsDistribution contract");
    _;
  }
}
查看更多广州网站/软件服务信息

免责声明:此信息系发布者(UID:739123)自行发布,本站是服务平台,仅提供信息存储空间服务,该信息内容的真实性及合法性由该发布者完全负责。

© lieju.com 联系我们