之前因为不会这个方法,
错过了一个当天十倍收益的机会。
为了以后不错过这样的机会,
天不负有心人,
终于把方法研究出来了,
探索过程的艰辛就不废话了,
直接上结果,希望对各位老铁有帮助!
(科学家可以绕过,小白文章无需浪费时间)
本文以STEPN自己研发的Dooar举例子,
1、使用的工具:ETH区块链浏览器 etherscan.io ,链上钱包(本文使用的Metamask)
2、使用ETH区块链浏览器搜索Dooar合约地址:
0x53e0e51b5ed9202110d7ecd637a4581db8b9879f
进入Contract的Write Contract 界面,然后连接钱包。
如下图:
下拉页面找到第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