广州杰肯狸网络科技有限公司
动漫游戏开发 , 计算机系统服务 , 新材料技术研发 , 能量回收系统研发
DAPP双币质押模式系统开发源码搭建

可以将PI和USDT二种贷币与此同时质押贷款到【咨询181-2591-3365微电】指定挖矿软件中,双币质押贷款挖币是一种新型的虚拟货币挖币方法,参加挖币主题活动,得到相应的盈利。


什么是双币质押贷款流动性挖矿?


双币质押贷款流动性挖矿(LP挖币)是一种可以将二种货币以一定比例开展质押贷款,给予流通性,并得到挖币奖励方法。用户可把自己所持有的货币加入到一个流通性池里,随后得到流通性货币作为回报。可以将这种流通性货币质押贷款返回***智能合约中,用户可获得一定的挖币奖赏。大家可以在随时随地赎出自已的质押贷款货币,但是需要按照一定的占比开展赎出。

scssCopy codepragma solidity ^0.8.0;


    struct Staker {

        uint256 piAmount;

        uint256 usdtAmount;

        uint256 lastUpdateTime;

        uint256 rewardEarned;

    }    mapping(address => Staker) public stakers;

    uint256 public totalStakedPi;

    uint256 public totalStakedUsdt;

    uint256 public rewardRate = 10; // 每日回报率


    constructor(address _piToken, address _usdtToken) {

        piToken = IERC20(_piToken);

        usdtToken = IERC20(_usdtToken);

    }


    function stake(uint256 _piAmount, uint256 _usdtAmount) external {

            require(_piAmount > 0 || _usdtAmount > 0, "Invalid amount");

                    updateReward(msg.sender);



    function claimReward() external {

            updateReward(msg.sender);


        uint256 reward = stakers[msg.sender].rewardEarned;

        stakers[msg.sender].rewardEarned = 0;

        piToken.transfer(msg.sender, reward);

    }


    function updateReward(address _account) internal {

        uint256 rewardPerToken = getRewardPerToken();

        stakers[_account].rewardEarned  = getRewardEarned(_account, rewardPerToken);

        stakers[_account].lastUpdateTime = block.timestamp;

    }


大家将利用以太坊平台设计一个双币质押贷款流动性挖矿合同。在本例中,我们以ETH和USDT做为二种货币开展双币质押贷款流动性挖矿。


基本要素


(1)大家可以在合同内进行ETH和USDT的双币质押贷款。



(2)合同会自动发放奖励货币。



(3)用户可无论什么时候从合同中获取奖赏货币和初始质押贷款货币。



合同设计方案


(1)我们将要应用Solidity语言表达来撰写***智能合约。在这以前,需要安装Truffle和Ganache。



(2)合同设计方案必须完成下列基本要素:



用户可质押贷款ETH和USDT,并领取奖励货币。


用户可随时随地从合同中获取奖赏货币和初始质押贷款货币。


(3)我们将要应用OpenZeppelin库来撰写***智能合约。该库带来了很多基本的***智能合约作用。


发布时间:2024-05-03
展开全文
优质商家推荐 拨打电话