Uniswap合约学习-- Uniswap UNI Token

记得朋友圈看到过一句话,如果Defi是以太坊的皇冠,那么Uniswap就是这顶皇冠中的明珠。当前,Uniswap已经发行了自己的ERC20代币,本文就是学习其代币合约的记录。

一、UNI Token 介绍

UNI Token 为 Uniswap团队自己发行的以太坊上的ERC20代币,其合约源码在etherscan上已经开源可查。在UniswapV2相关合约学习完之后(学习期间),我们抽空来学习一下它发行的ERC20代币合约。

UNI Token 代币合约并不属于Uniswap交易所的一部分,所以没有把它像以前那样归类到核心合约或者周边合约。但是它的某些实现上,和核心合约中的交易对流动性代币合约的相应实现有些类似。

二、合约源码

因为合约源码直接从ethersacn上复制而来,它将所有导入都写在一个源文件里,因此篇幅较长。笔者稍微整理了一下,将SafeMath库放在外面以减少篇幅。修改后的源码为:

pragma solidity ^0.5.16;
pragma experimental ABIEncoderV2;

import 
  • 9
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 15
    评论
抱歉,我理解错了您的问题。下面是 Uniswap 合约的 `swapExactTokensForTokens` 和 `swapTokensForExactTokens` 函数的详细说明: `swapExactTokensForTokens` 函数用于在 Uniswap 上进行精确输入代币数量、输出代币数量的交易,具体来说,函数的参数如下: ```solidity function swapExactTokensForTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external returns (uint[] memory amounts); ``` - `amountIn`:输入代币数量; - `amountOutMin`:期望输出代币数量的下限,如果实际输出代币数量低于该值,交易将被取消; - `path`:交易路径,表示交易的输入代币和输出代币之间的路径,如 `[tokenA, tokenB, tokenC]`; - `to`:交易接收地址,用于接收输出代币; - `deadline`:交易截止时间; - `amounts`:返回值,表示实际交易从输入代币到输出代币每个代币的数量。 `swapTokensForExactTokens` 函数用于在 Uniswap 上进行指定输出代币数量、最大输入代币数量的交易,具体来说,函数的参数如下: ```solidity function swapTokensForExactTokens( uint amountOut, uint amountInMax, address[] calldata path, address to, uint deadline ) external returns (uint[] memory amounts); ``` - `amountOut`:期望输出代币数量; - `amountInMax`:输入代币数量上限,如果实际输入代币数量超过该值,交易将被取消; - `path`:交易路径,表示交易的输入代币和输出代币之间的路径,如 `[tokenA, tokenB, tokenC]`; - `to`:交易接收地址,用于接收输出代币; - `deadline`:交易截止时间; - `amounts`:返回值,表示实际交易从输入代币到输出代币每个代币的数量。 这两个函数的具体实现可以参考 Uniswap 的代码:https://github.com/Uniswap/uniswap-v2-core/blob/master/contracts/UniswapV2Pair.sol

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 15
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

AiMateZero

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值