SWAP:如何在合约中集成 Uniswap v3

译文出自:登链翻译计划

译者:翻译小组

校对:Tiny熊

Uniswapv3的新内容及集成

如果你还不熟悉Uniswap,它是一个去中心化的交易所,依靠外部流动性提供者将代币添加到流动池配对中,用户可以直接交易这些代币。

由于它在以太坊上运行,可以交易的是以太坊ERC-20代币。每种代币都有自己的智能合约和流动资金池。Uniswap--作为完全的去中心化--对哪些代币可以添加没有限制。如果一个代币对还没有流动池合约存在,任何人都可以Uniswap的工厂创建一个,任何人都可以向池子提供流动性。每笔交易有0

else{require(daiToken

//dosomethingwiththatDAI...}

在你的函数的开头做一个简单的检查就足够了。现在,对于convertEthToExactDai函数,它将看起来像这样的东西。

functionconvertEthToExactDai(uint256daiAmount)externalpayable{require(daiAmount>0,"Mustpassnon0DAIamount");require(msg

现场丨中央美术学院副教授陈卓:我们该思考如何让加密艺术品拥有传统艺术品特性:金色财经现场报道,10月17日,BCA NFT艺术沙龙于京举办,在圆桌讨论环节,中央美术学院副教授陈卓表示,如今在艺术领域,用媒介去区分艺术,边界越发模糊,艺术正在向经典形态向新形态转变的趋势,媒介的转变和社会的变化会推动一波变迁。传统的艺术品有神秘感,但区块链是透明的,艺术展有仪式感,但线上艺术品会缺少仪式感。我们该思考如何让加密艺术具备传统艺术特性。例如艺术收藏的仪式感、艺术品生产过程的创造艺术。[2020/10/17]

这里有几件事情需要解读。

SwapRouter:SwapRouter将是一个由Uniswap提供的包装合约,它有几个安全机制和便利功能。你可以使用ISwapRouter(0xE592427A0AEce92De3Edee1F18E0157C05861564)为任何主网或测试网实例化它。接口代码可以在这里找到。

WETH:你可能注意到,我们在这里使用ETH。在Uniswap中,不再有直接的ETH对,所有的ETH必须首先转换为WETH。在我们的案例中,这是由SwapRouter完成的。

exactOutputSingle:该函数可用于使用ETH并接收准确的代币数量。任何剩余的ETH将被退还,但不是自动!我自己没有第一时间意识到这一点,ETH最后在路由器合约中。所以不要忘记在兑换后调用uniswapRouter

大咖零距离 | 合约交易秘籍 如何穿越牛熊市:3月27日19:00,金色盘面邀请资深金融从业者,有超20年投资交易经验的丁一老师做客金色财经《大咖零距离》直播间,将分享《合约交易秘籍 如何穿越牛熊市》,敬请关注,欲进群观看直播扫描海报二维码报名即可![2020/3/27]

但是请注意,我们没有把它声明为视图函数,但是不要在链上调用这个函数。尽管它可以作为一个视图函数来调用的,但它会采用非视图方式来获得计算结果。由于Solidity的特性,所以这里也不可能将它本身声明为一个视图函数,仅能使用场景如Web3的call()功能来读取前端的结果。

现在我们可以在前端调用getEstimatedETHforDAI。为了确保我们发送了足够的ETH,并且交易不会被退回,我们可以将估计的ETH数量增加一点。

constrequiredEth=(awaitmyContract

contractUniswap3{IUniswapRouterpublicconstantuniswapRouter=IUniswapRouter(0xE592427A0AEce92De3Edee1F18E0157C05861564);IQuoterpublicconstantquoter=IQuoter(0xb27308f9F90D607463bb33eA1BeBb41C27CE5AB6);addressprivateconstantmultiDaiKovan=0x4F96Fe3b7A6Cf9725f59d353F723c1bDb64CA6Aa;addressprivateconstantWETH9=0xd0A1E359811322d97991E03f863a0C30C2cF029C;functionconvertExactEthToDai()externalpayable{require(msg

声音 | 矿海学院创始人Andy:如何利用金融工具锁定利润是新时代矿工必须补的一门课:在今日TokenInsight对话首席第20期《比特币挖矿,你真的懂吗?》的直播中,针对“是否在未来会出现更加智能的丰枯水期预测工具以辅助矿工进行决策?的提问,矿海学院创始人Andy指出:枯水期来临,电力资源减少,势必会淘汰小算力的机器,受影响的将是这部分矿工群体。2019年四川沣水期延迟,这让很多矿工机器停放在矿场无电可挖,如果有准确的沣枯水期预测工具,相信会为矿工提供更好的决策参考。现在大部分矿工考虑的是如何能够找到低价合规稳定的电力资源,然后大部分矿工应该都希望比特币的价格可以涨起来,早期矿工依靠囤币就可以赚钱,这在币价上涨行情下可行,可是2018年持续下行,如何利用金融工具锁定利润是新时代矿工必须补的一门课。[2019/9/6]

functionconvertEthToExactDai(uint256daiAmount)externalpayable{require(daiAmount>0,"Mustpassnon0DAIamount");require(msg

//donotusedon-chain,gasinefficient!functiongetEstimatedETHforDAI(uintdaiAmount)externalpayablereturns(uint256){addresstokenIn=WETH9;addresstokenOut=multiDaiKovan;uint24fee=3000;uint160sqrtPriceLimitX96=0;returnquoter

声音 | V神:如何公平有效地分配资源取决于机制设计的可信度:据prnewswire消息,V神表示,好的机制应该能够给需求方分配最佳资源,无论需求方是项目、政府还是公司。如何公平、有效地分配资源取决于机制设计的可信度。虽然中心化机制仍然是常态,但这要求所有参与方都相信中心化机制能够正确运作。[2018/9/15]

//importanttoreceiveETHreceive()payableexternal{}}

ExactInput和ExactOutput的区别

一旦你执行这些函数并在Etherscan中查看它们,区别就会立即变得很明显。这里我们是用exactOutput进行交易。我们提供1个ETH,希望收到100个DAI作为回报。任何多余的ETH都会退还给我们。

以准确的DAI购买

而下面,我们正在使用exactInput进行交易。我们提供1个ETH,并希望得到多少DAI,而这恰好是196个DAI。

用精确的ETH购买

请注意,如果你困惑为什么价格会如此不同,这是测试网的一个小池子,第一个交易严重影响了池子里的价格。没有多少人在测试网中进行套利交易:)

环球银行金融电信协会与七家中央证券存管机构签署一项协议备忘录,以研究区块链如何用于交易后流程:环球银行金融电信协会(SWIFT)与七家中央证券存管机构签署了一项协议备忘录,以研究区块链如何用于交易后流程,如代理投票等。这七家机构分别是美国纳斯达克 Nasdaq Market Technology、俄罗斯国家结算存管公司(National Settlement Depository)、瑞士SIX Securities Services,南非Strate,阿布扎比证券交易所,阿根廷的Caja de Valores和智利的Depores de Central Valores。[2018/1/16]

本翻译由CellNetwork赞助支持。

来源:https://soliditydeveloper.com/uniswap3

参考资料

登链翻译计划:https://github.com/lbc-team/Pioneer

翻译小组:https://learnblockchain.cn/people/412

Tiny熊:https://learnblockchain.cn/people/15

Uniswap:https://uniswap.exchange/

一篇文章:https://soliditydeveloper.com/uniswap2

v3自2021年5月5日起在主网上运行:https://uniswap.org/blog/launch-uniswap-v3/

文件:https://docs.uniswap.org/

白皮书:https://uniswap.org/whitepaper-v3.pdf

这里:https://github.com/Uniswap/uniswap-v3-periphery/blob/main/contracts/interfaces/ISwapRouter.sol

exactOutputSingle:https://docs.uniswap.org/reference/periphery/interfaces/ISwapRouter#exactoutputsingle

quoteExactOutputSingle:https://docs.uniswap.org/reference/periphery/interfaces/IQuoter#quoteexactoutputsingle

call():https://web3js.readthedocs.io/en/v1.3.4/web3-eth-contract.html#methods-mymethod-call

exactInput:https://docs.uniswap.org/reference/periphery/interfaces/ISwapRouter#exactinput

exactOutput:https://docs.uniswap.org/reference/periphery/interfaces/ISwapRouter#exactoutput

Multi-collaterizedKovanDAI:https://oasis.app/borrow?network=kovan

exactOutputSingle:https://docs.uniswap.org/reference/periphery/interfaces/ISwapRouter#exactoutputsingle

exactInputSingle:https://docs.uniswap.org/reference/periphery/interfaces/ISwapRouter#exactinputsingle

CellNetwork:https://www.cellnetwork.io/?utm_souce=learnblockchain

免责声明:作为区块链信息平台,本站所发布文章仅代表作者个人观点,与链闻ChainNews立场无关。文章内的信息、意见等均仅供参考,并非作为或被视为实际投资建议。

本文来源于非小号媒体平台:

登链社区

现已在非小号资讯平台发布105篇作品,

非小号开放平台欢迎币圈作者入驻

入驻指南:

/apply_guide/

本文网址:

/news/10040915.html

免责声明:

1.资讯内容不构成投资建议,投资者应独立决策并自行承担风险

2.本文版权归属原作所有,仅代表作者本人观点,不代表非小号的观点或立场

上一篇:

对标AGIX、欧易AI板块的黑马——CNTM

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

地球链

[0:0ms0-0:651ms