通过DEX合约交互后端购买TOKEN的方法
September 2nd, 2022

之前因为不会这个方法,

错过了一个当天十倍收益的机会。

为了以后不错过这样的机会,

天不负有心人,

终于把方法研究出来了,

探索过程的艰辛就不废话了,

直接上结果,希望对各位老铁有帮助!

(科学家可以绕过,小白文章无需浪费时间)


通过DEX路由合约交互实现后端购买TOKEN的方法:

本文以STEPN自己研发的Dooar举例子,

1、使用的工具:ETH区块链浏览器 etherscan.io ,链上钱包(本文使用的Metamask)

2、使用ETH区块链浏览器搜索Dooar合约地址:

0x53e0e51b5ed9202110d7ecd637a4581db8b9879f

进入Contract的Write Contract 界面,然后连接钱包。

如下图:

通过合约购买token的前置步骤
通过合约购买token的前置步骤

下拉页面找到第14个方法:swapExactTokensForTokens。

这是负责交易Token的函数。

一共有五个值需要填写,

amountIn (uint256):需要转出的代币数量

amountOutMin (uint256): 购买最小代币数量,想要市价交易设置为1就行。

path (address[]): 需要交换的Token的合约地址,卖出的地址在前,买入的地址在后

to (address): 接收代币的地址,填写自己的钱包地址

deadline (uint256): 执行存活时间,unix时间戳格式,可以通过这个网站获取

示例:

在amountIn处填写数量时要先确认代币的精度,否则会多买或少买。

通过区块链浏览器查询合约信息,比如USDC合约

0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48

会看到上面这个图,Decimals就是精度,为“6”意味着小数点后有六个零。

想要购买1USDC,在amountIn后面填写1000000.

想要卖出1个GST,用同样的方法使用ETH区块链浏览器找到GST合约地址:

0x473037de59cf9484632f4A27B509CFE8d4a31404

精度为“8”,小数点后有8个零,amountIn处填写100000000表示一个GST,以此类推。

下面开始实操,我卖出47.51个GST:

amountIn (uint256):填写“4751000000”;

amountOutMin (uint256): 填写“1”;

path (address[]): 填写

“0x473037de59cf9484632f4A27B509CFE8d4a31404,

0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48”;

to (address): 我自己的钱包地址;

deadline (uint256): 1662022556,获取当前的时间戳后,把时间戳倒数第四位数字+1,这样这笔交易就能存活17分钟,如果在17分钟后本交易还没被执行成功,就会失败。

填写完之后点击Write按钮,

会弹出钱包确认通知,

授权后数据即发送上链。

这个就是刚才我那笔交易的链上hash,显示47.51GST换了14.19个USDC。


现在我相信你也可以独立完成这些操作了。

如果在实操过程中出现一些没有遇到的问题,

欢迎联系我交换信息,

每一个错误都是拿钱试出来的,

更新出来后可以避免重复踩坑。

目前比较容易出错的地方是在时间戳那里,

时间戳错误容易导致交易失败,

时间戳的规则请认真核对。


如果觉得这篇文章对你有帮助,

欢迎各位老板看心情打赏。

0xAF65293711b6cC4955dC9BDA98f2605E0221a386

接受任何ERC20和BSC20代币。

2022年9月2日23:20

Mirror:mirror.xyz/450000.eth

推特:@feikeju

微信:feikeju

Subscribe to FF@Livermore
Receive the latest updates directly to your inbox.
Mint this entry as an NFT to add it to your collection.
Verification
This entry has been permanently stored onchain and signed by its creator.
More from FF@Livermore

Skeleton

Skeleton

Skeleton