增长你的知识 | 使用imToken钱包也能调用合约!

imtoken官网地址 admin 2024-07-30 11:51 33 0

imToken 是一款全球领先的区块链数字资产管理工具[ZB],帮助你安全管理BTC, ETH, ATOM, EOS, TRX, CKB, BCH, LTC, DOT, KSM, FIL, XTZ 资产,同时支持去中心化币币兑换功能 ...

1.合同可以调整吗?

钱包imtoken官网下载

今天在看以太坊多重签名的时候,发现都是通过智能合约(类似投票合约)来实现的。那么有一个问题:主流钱包是怎么调用智能合约的呢?

钱包imtoken下载

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

钱包imtoken官网

2. 是的,你可以!

无论是转账、部署合约还是调用合约,本质都是向以太坊网络发起交易,该交易使用以太坊账户私钥对请求数据进行签名。

在钱包中提供了高级选项模式,允许用户填写交易的请求数据,因此只需要将调用的合约方法和参数编码成abi,即可得到十六进制数据。

我还需要 abi 编码,这到底是什么?我不知道该怎么做。

没关系,有一个非常好用的在线工具,可以自动对请求的合约方法和参数进行编码。

工具地址:

3. 光说不练是不够的,只有实践才能证明

这里我花了巨额资金(0.00045 Ether)进行练习,调用一个ERC20合约方法,通过转账Ether来转移Token。

1. 签订合同

这里我使用了一个ERC20合约,合约代码如下:#code

你可以在这里获取合约的ABI文件,没有ABI文件也没关系,只要你能确定需要调用的合约方法就可以了,比如转账方法(_to,)。

根据方式及参数填写相关信息,如下图所示。

钱包imtoken下载_钱包imtoken官网下载_imToken钱包

计算出来的ABI代码由三部分组成:

• 函数选择器(4 个字节),计算方式为 ((“(, )”)) == • 第一个参数值(32 个字节),52 • 第二个参数值(32 个字节),十六进制

2.进攻!

选择ETH转账,其中:

• 填写转账地址的合约地址。 • 需要转出的以太币数量,如果不需要给合约转以太币,就填写0,我这里转的是ERC20的token,所以以太币数量为0。 • 填写,一般填写,数值越大,消耗的gas越多,转账越快。 • 填写,这个由调用的合约的方法决定,ERC20转账一般消耗21000,我这里填写30000,已经够用了。 • 填写数据imToken钱包,工具计算出来的数据没有加前缀0x(表示十六进制)

一切准备就绪,进攻!

钱包imtoken官网下载_imToken钱包_钱包imtoken下载

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

可怜,油不够了,还在排队/::<

钱包imtoken官网下载_imToken钱包_钱包imtoken下载

掌握这项技术之后imToken,我们就可以使用钱包参与锁定,投票,多重签名等合约服务。

惊人的!

评论区