imtoken地址就是eth地址吗
来源:    发布时间: 2023-12-02 16:50   34 次浏览   大小:  16px  14px  12px
今天,当我看以太坊的多重签名时,我发现它们都是通过智能合同实现的(类似于投票合同),所以有一个问题,主流钱包,如imtoken,如何呼叫智能合同。

I.imtoken能调整合同吗?

今天,当我看以太坊的多重签名时,我发现它们都是通过智能合同实现的(类似于投票合同),所以有一个问题,主流钱包,如imtoken,如何呼叫智能合同。

以前用imtoken钱包直接转账,从来没想过用imtoken钱包调合同。今天研究了一下,发现其实挺简单的,在这里分享。

二、是的,可以!

无论是转账、部署合同还是调用合同,本质上都是向以太坊网络发起交易,用以太坊账户私钥签署请求数据。

在imtoken钱包中,提供了允许用户填写交易请求数据的先进选项模式。因此,只需编码调用的合同方法和参数,即可获得16进制数据。


还需要abi编码,是什么鬼,我不会。

没关系,这里有一个很好的在线工具,可以自动编码所需的合同方法和参数。

工具地址:。

三、口说无证,只有实践。

在这里,我花了很多钱(0.00045ether)在imtoken中转账,调用erc20合同的transfer方式转账。

1.合同。

这里我用的是ERC20合同,合同代码见:。

在这里,您可以获得合同的ABI文件。没有ABI文件也没关系。只要您能确定您需要调用的合同方法,例如,转账方法是transfer(adres_to,uint256_value)。

按方法和参数填写相关信息,如下图所示。

ABI编码由三部分组成:

函数选择器(4字节),a9059cbb,计算方法为bytes4(kecak256(transfer(adress,uint256))==0xa9059cbb。

第一个参数address值(32字节),00000000e1c69d7692c3ed483a32b7a14d75b1c8ef52。

2.进击吧

选择ETH转账,包括:

填写合同地址。

以太币以太币数量,如果不需要向合同转账的以太币时填写0,我在这里转账ERC20token,所以以以太币数写0。

填写Gasprice,一般填写20gwei,值越大,消耗Gas越多,转账越快。

填写Gaslimit,这取决于调用合同的方式。ERC20的转账一般消耗2.1万元,我在这里填写3万元就够了。

填写data,hashex工具计算的数据未添加前缀0x(表示16进制)

一切都有,进攻吧!

交易发送成功后,我们可以在以太坊浏览器上看到我们的交易,我的交易地址是:

穷啊,给G少,还在排队/:。

有了这个技巧,我们就可以用imtoken钱包参与锁仓、投票、多重签名等合同业务。

奥利给!