欢迎光临散文网 会员登陆 & 注册

质押项目算力挖矿DAPP开发运营版丨质押算力挖矿DAPP系统开发成熟技术及方案

2023-07-10 16:23 作者:bili_36625761919  | 我要投稿

  (1)智能合约部署。


  部署前,开发智能合约并编译为二进制字节码(同时产生ABI文件);编译后,将字节码等数据作为区块链交易的一部分,发送至区块链网络;发送后,在共识算法约束下,共识节点完成交易打包、区块生成和区块上链;上链后,智能合约绑定特定账号(智能合约账号),智能合约调用时需要使用它。


  (2)智能合约调用。


  部署后,将智能合约账号和ABI入参数据作为交易的一部分,发送至区块链网络;发送后,在共识算法约束下,共识节点完成交易打包、区块生成和区块上链;上链后,在业务逻辑约束下,智能合约更新数据,区块链全局状态变更。


  uint amount0In=balance0>_reserve0-amount0Out?balance0-(_reserve0-amount0Out):0;


  uint amount1In=balance1>_reserve1-amount1Out?balance1-(_reserve1-amount1Out):0;


  require(amount0In>0||amount1In>0,'UniswapV2:INSUFFICIENT_INPUT_AMOUNT');


  {//scope for reserve{0,1}Adjusted,avoids stack too deep errors


  uint balance0Adjusted=balance0.mul(1000).sub(amount0In.mul(3));


  uint balance1Adjusted=balance1.mul(1000).sub(amount1In.mul(3));


  require(balance0Adjusted.mul(balance1Adjusted)>=uint(_reserve0).mul(_reserve1).mul(1000**2),'UniswapV2:K');


  }


  _update(balance0,balance1,_reserve0,_reserve1);


  emit Swap(msg.sender,amount0In,amount1In,amount0Out,amount1Out,to);


  }


  //force balances to match reserves


  function skim(address to)external lock{


  address _token0=token0;//gas savings


  address _token1=token1;//gas savings


  _safeTransfer(_token0,to,IERC20(_token0).balanceOf(address(this)).sub(reserve0));


  _safeTransfer(_token1,to,IERC20(_token1).balanceOf(address(this)).sub(reserve1));


  }


  //force reserves to match balances


  function sync()external lock{


  _update(IERC20(token0).balanceOf(address(this)),IERC20(token1).balanceOf(address(this)),reserve0,reserve1);


  }


  }


质押项目算力挖矿DAPP开发运营版丨质押算力挖矿DAPP系统开发成熟技术及方案的评论 (共 条)

分享到微博请遵守国家法律