广州

点击搜索

发布

IPP SWAP质押挖矿系统开发DAPP详情

区域:
广州 > 天河 > 珠江新城/跑马场
类别:
软件开发
地址:
广州天河区
Web 3.0 的确切定义,目前学界【181公链2591合约開发3365微电】还没有达成终的共识,但人们普遍认为,作为互联网的一种新形态,Web 3.0 将意味着一次重大的变革。具体来说,这种变革将会体现在如下七个方面:一是将迎来一种新的身份体系,二是将催生一套新的产权体系的建立,三是将产生大批替代中心化平台的应用,四是将强化对于隐私和个人数据的保护,五是将重构组织模式,六是将催生新的业态,七是将带来新的商业模式。

function addLiquidity(
    address tokenA,
    address tokenB,
    uint amountADesired,
    uint amountBDesired,
    uint amountAMin,
    uint amountBMin,
    address to,
    uint deadline
  ) external virtual override ensure(deadline) returns (uint amountA, uint amountB, uint liquidity)

swap是普通用户进行代币交易的操作。普通用户通过swap操作实现两种token之间的交易。

function swapExactTokensForTokens(
  uint amountIn,
  uint amountOutMin,
  address[] calldata path,
  address to,
  uint deadline
) external virtual override ensure(deadline) returns (uint[] memory amounts) {
Uniswap支持多种代币的交换。具体的含义是,Uniswap提供了多级交易池的路由功能。举个例子,已有两个交易对TokenA-TokenB,以及TokenB-TokenC,通过swap接口,可以实现TokenA-TokenC的交换,其中经过的TokenA-TokenB,TokenB-TokenC,称为路径(path)。amountIn是路径中的个代币的数量,amountOutMin是期望的交换后的少的数量。

amounts = UniswapV2Library.getAmountsOut(factory, amountIn, path);
require(amounts[amounts.length - 1] >= amountOutMin, 'UniswapV2Router: INSUFFICIENT_OUTPUT_AMOUNT');
amounts是每个路径上的交换后的数量。amounts[amounts.length-1]也就是后一条路径的输出数量。注意,UniswapV2Library.getAmountsOut的实现(在获取每个交易对的reserve信息后,调用getAmountOut函数):

  function getAmountOut(uint amountIn, uint reserveIn, uint reserveOut) internal pure returns (uint amountOut) {
    require(amountIn > 0, 'UniswapV2Library: INSUFFICIENT_INPUT_AMOUNT');
    require(reserveIn > 0 && reserveOut > 0, 'UniswapV2Library: INSUFFICIENT_LIQUIDITY');
    uint amountInWithFee = amountIn.mul(997);
    uint numerator = amountInWithFee.mul(reserveOut);
    uint denominator = reserveIn.mul(1000).add(amountInWithFee);
    amountOut = numerator / denominator;
  }
相关信息
荔湾-荔湾湖
2小时前
天河-棠下
2小时前
天河-棠下
3天前
荔湾-荔湾湖
3天前
天河-棠下
5月8日
天河-棠下
5月7日
天河-棠下
4月30日
查看更多广州网站/软件服务信息

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

© lieju.com 联系我们