在这里可以获取到合约的ABI文件,假如没有ABI文件也不要紧,,只要能确定你需要挪用的合约的要领,好比转账的要领为transfer(address _to, uint256 _value)。还需要abi编码,是什么鬼,我不会啊。
•转账地点填写合约地点•转账的以太币数量,假如不需要向合约转账以太币时填写0,我这里是转一个ERC20的token,因此以太币数写0•填写GasPrice,一般填写20gwei就可以,数值越大,耗损的Gas越多,转账越快•填写GasLimit,这个由所挪用合约的要领抉择,ERC20的转账一般耗损21000,我这里填写30000,足够了•填写data,hashex东西计较的数据没有添加前缀0x(暗示16进制)
2、进击吧
计较获得的ABI编码是由三部门构成:
不要紧,这里有一个很好用的在线东西,可以自动对所请求的合约要领和参数举办编码。
按照要领及参数填写相关信息,如下图所示。
这里我淹灭巨资(0.00045 Ether)举办了实践,在imToken中转账以太币的方法挪用一个ERC20合约的transfer要领,举办token转账。以前利用imToken钱包都是直接转账,从未想过利用imToken钱包来调合约,本日研究了下,发明其实挺简朴的,这里分享出来。
无论是转账、陈设合约照旧挪用合约,其本质都是向以太坊网络提倡一笔生意业务,这笔生意业务是利用以太坊账号私钥对请求数据举办签名。
东西地点:https://abi.hashex.org
1、来个合约
•函数选择器(4 字节),a9059cbb,计较要领是bytes4(keccak256(“transfer(address, uint256)”)) == 0xa9059cbb•第一个参数address值(32 字节),0000000000000000000000006e1c69d7692c3ed4d483a32b7a14d75b1c8ef552•第二个参数uint256值(32 字节),0000000000000000000000000000000000000000000000056bc75e2d63100000,为100000000000000000000的16进制
一、imToken能调合约?
把握了这个能力,我们就可以利用imToken钱包参加锁仓、投票、多重签名等等合约业务了。
穷啊,给的Gas较量少,还在列队中/::<本日在看多重签名时,发明都是通过智能合约来实现的(雷同投票合约),那么就有一个问题,主流的钱包如imToken,怎么挪用智能合约呢。
二、是的,能!
三、口说无凭,唯有实践
在imToken钱包里,提供了高级选项模式,答允用户填写生意业务的请求数据。因此,只需要将所挪用的合约要领及参数举办abi编码,获得十六进制数据即可。
奥利给!
生意业务发送乐成后,可以在以太坊欣赏器上看到我们的生意业务,我这里的生意业务地点为:https://cn.etherscan.com/tx/0x9f4e92b764f86810c7a5fbce1c3ac64babada9fd4148806433a96e0393e5ead6
万事具备,进击吧!
郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。