普瑞缇Protradex系统开发/DAPP合约链上/质押挖矿分红/案例详细/详情规则/源码版

141 阅读2分钟

     区块链技术一般用于构建交易系统,而且要保证交易的信息真实可信,可追踪且不可篡改。      每一次交易的信息被确认后存储在一个区块中,区块信息通过散列技术加密,以保证信息不被篡改。这些区块按时间顺序构成链条。      每个节点都保有完整的区块链信息,176开阀0206案例5616 个别节点的信息损坏,不会对区块链信息产生影响。这种信息记录方式被称作分布式账本。      区块链技术就是一种数据库技术,V++++mrsfu123 每个区块就像一个硬盘,把信息全部保存下来,再通过密码学技术进行加密,这些被保存起来的数据是不能被篡改的。      区块链是一种特殊的分布式数据库,任何服务器都可以成为区块链中的一个节点,且节点之间是平等的,无中心化,区块链中的数据是经过加密存储,已经存储的数据无法修改,可以保证数据的准确性。      将代币path[0],转入到交易对,数量为amounts[0]。转入代币后,进行真正的swap操作:      function _swap(uint[]memory amounts,address[]memory path,address _to)internal virtual{      for(uint i;i<path.length-1;i++){      (address input,address output)=(path<i>,path[i+1]);      (address token0,)=UniswapV2Library.sortTokens(input,output);      uint amountOut=amounts[i+1];      (uint amount0Out,uint amount1Out)=input==token0?(uint(0),amountOut):(amountOut,uint(0));      address to=i<path.length-2?UniswapV2Library.pairFor(factory,output,path[i+2]):_to;      IUniswapV2Pair(UniswapV2Library.pairFor(factory,input,output)).swap(      amount0Out,amount1Out,to,new bytes(0)      );      }      }      原理比较简单,针对每一条路径,调用交易对的swap操作。      Core逻辑      Core逻辑实现了单个交易对的逻辑。通过UniswapV2Factory可以创建一个个Pair(交易池)。每个具体实现逻辑在UniswapV2Pair中。      mint      每个交易对创建流动性。      function mint(address to)external lock returns(uint liquidity){      因为在调用mint函数之前,在addLiquidity函数已经完成了转账,所以,从这个函数的角度,两种代币数量的计算方式如下:      uint balance0=IERC20(token0).balanceOf(address(this));      uint balance1=IERC20(token1).balanceOf(address(this));      uint amount0=balance0.sub(_reserve0);      uint amount1=balance1.sub(_reserve1);      当前的balance是当前的reserve加上注入的流动性的代币数量。      uint _totalSupply=totalSupply;//gas savings,must be defined here since totalSupply can update in _mintFee