Skip to content

ABI可视化调用

hu125 edited this page Apr 18, 2023 · 7 revisions

使用场景:

ABI(Application Binary Interface)可视化可以简化开发者的调用过程。主要使用在下面几种场景:

  1. 智能合约开发:在开发智能合约时,开发者可以使用 ABI 可视化调用来测试智能合约的功能和参数。
  2. DApp 开发:在 DApp 开发中,开发者需要与智能合约进行交互。通过 ABI 可视化调用,可以方便地调用智能合约并获取返回值,从而实现 DApp 的功能。
  3. 钱包应用开发:在钱包应用开发中,需要与智能合约进行交互,例如转账、查询余额等操作。通过 ABI 可视化调用,可以方便地调用智能合约并实现这些操作。
  4. 智能合约审计:在对智能合约进行审计时,开发人员需要对智能合约的代码进行分析和测试。使用 ABI 可视化调用可以方便地测试智能合约的功能和参数,从而更好地发现潜在的安全问题。
  5. 智能合约测试:在测试智能合约时,开发者可以使用 ABI 可视化调用来测试智能合约的功能和参数,以确保智能合约的正确性和稳定性。

作用:

ABI可视化调用是一种方便用户通过界面操作来调用智能合约的工具,它的作用主要有以下几个方面:

  1. 方便使用:通过ABI可视化调用工具,用户可以通过简单的界面操作来调用智能合约,而不需要手动编写和发送交易。这使得使用智能合约变得更加方便和易于上手。
  2. 减少错误:由于智能合约的编写需要遵循一定的规则和语法,因此手动编写交易时容易出现错误。通过使用ABI可视化调用工具,用户可以避免一些常见的错误,例如交易数据格式错误、交易签名错误等。
  3. 显示交互结果:ABI可视化调用工具可以显示交互结果,包括调用智能合约的返回值、交易状态等信息。这使得用户可以更方便地了解智能合约的执行情况,并及时调整合约参数以获得期望的结果。
  4. 降低使用门槛:对于不熟悉智能合约编写的用户,使用ABI可视化调用工具可以降低使用门槛,使得更多的用户可以参与智能合约的开发和使用。这有助于推动智能合约的普及和发展。

使用方法:

1.添加合约

手动添加合约

进入到https://chaintool.tech/abi ,点击添加合约按钮。跳出添加合约弹窗后,输入合约名称、区块链网络、合约地址已经ABI后,点击确定按钮,就可以成功添加合约了。 截屏2023-03-27 17 25 11 合约名称:方便区分自己添加的合约,可以自由命名,但不能为空。

区块链网络:可以选择我们提供的网络选项,也可以选择当前钱包连接的网络。 截屏2023-03-27 17 33 55

合约地址:不能输入不正确的地址。

ABI:除了可以通过直接在输入框中填入,这里还可以通过三种方式进行快速填入。

​ 快速填入ABI方式一:选择常见的ABI,这种方式收集了几种常见的ABI可供选择。点击即可自动填入。

截屏2023-03-27 17 38 26

​ 快速填入ABI方式二:上传ABI文件,这种方式可以将本地的ABI文件进行上传读取,自动填写到输入框中。

​ 快速填入ABI方式三:Etherscan获取,这种方式需要先选择区块链网络并且填写合约地址后,点击即可自动获取并填入。本地网络及未公开的合约无法通过Etherscan获取ABI。

ABI支持JSON格式, 并且支持Human-Readable格式。

自动添加合约

我们还可以采用自动添加合约的方式来添加合约,这种方式方便快捷。

例如:我们可以直接访问https://chaintool.tech/abi/ETH/0xb8d7bA8A84D8d732b6a451197613Cb8974bAfF87 ,就可以自动添加主网下合约地址为0xb8d7bA8A84D8d732b6a451197613Cb8974bAfF87的合约。 截屏2023-03-27 17 51 49

格式为:https://chaintool.tech/abi/<网络简称/链ID>/<合约地址>

例如,我们需要添加Ethereum Mainnet网络的0xb8d7bA8A84D8d732b6a451197613Cb8974bAfF87。我们通过已支持自动添加的网络表看,可知Ethereum Mainnet网络的网络简称为“ETH”,链ID为“1“。那我们就可以通过下面两个网址来自动添加这个网络。https://chaintool.tech/abi/ETH/0xb8d7bA8A84D8d732b6a451197613Cb8974bAfF87(https://chaintool.tech/abi/1/0xb8d7bA8A84D8d732b6a451197613Cb8974bAfF87)

对于已添加的合约,也可以通过链接进行访问。会自动打开对应的合约,不会重复添加。 截屏2023-03-27 18 26 31 我们还可以通过分享合约来获得自动添加合约的网址(下文会继续介绍这个功能的具体使用) image-20230328105943822

注意:通过别人分享的链接,添加未开源的合约时,请确认真实性。

自动添加合约的信息:

合约名称:通过区块链网络名称和合约地址自动获取名称。

区块链网络:通过网址中的网络简称/链ID进行匹配对应的区块链网络。

合约地址:通过网址中的合约地址进行获取。

ABI:通过区块链网络名称和合约地址自动获取ABI。

2.调用函数

选择函数

合约添加后,我们就可以在侧边栏的中选择合约,再点击对应的函数。 image-20230328110452766

运行函数

接下来我们就可以在输入框中输入参数,点击运行按钮就可以成功调用函数了。无参数函数点击选择函数后就会自动运行,无需再点击运行按钮。

运行后,会在下方显示运行结果。 image-20230328110856696

注意:在输入参数类型为数组或元组的数据时,请采用数组的方式输入。示例如下图。

image

清空输出

结果会积累,最后运行的结果会显示在最前面。当我们不需要之前调用函数的输出结果时。我们可以点击清空输出按钮,将之前调用函数的输出结果都清空。

image-20230328111050139

3.功能区介绍

分享功能

当我们需要将该合约分享给好友,方便好友快速调用该合约。我们就可以使用这个分享合约功能。

使用方法:

点击分享功能后,会将添加当前合约的链接复制到剪切板。我们可以把链接分享给好友,好友访问该链接可快速加载该合约。我们也可以将该链接进行收藏,下次我们访问该链接也可以自动选中该合约。

image-20230328112147674

查看ABI功能

当我们想查看当前ABI是具体调用了哪些函数,它们有哪些参数的时候,这个功能就派上用场了。

使用方法:

点击查看ABI功能后,会有一个弹出框显示我们当前选择合约的ABI。

可以通过上面的按钮,选择JSON格式或者Human-Readable格式查看。默认JSON格式。

并且提供了复制按钮,点击复制按钮可将当前合约复制到剪切板。 image-20230328112752965

查看Etherscan功能

当我们调用函数产生交易后,我们就可以通过查看Etherscan功能快速查看我们的交易情况。

使用方法:

点击查看Etherscan按钮后,将在新窗口打开当前合约对应的区块链浏览器。 image-20230328113007549

例如:这里我们是主网下的0xb8d7bA8A84D8d732b6a451197613Cb8974bAfF87合约。点击查看Etherscan按钮后,将在新窗口打开https://etherscan.io/address/0xb8d7bA8A84D8d732b6a451197613Cb8974bAfF87。

image-20230328113313894

编辑功能

当我们想要给合约重新命名,或者需要修改合约的相关信息的时候,我们就可以使用这个编辑功能了。

使用方法: 点击编辑功能按钮后,会弹出框。可对该合约的所有信息进行编辑。点击确定后,将保存修改合约后的信息。 image-20230328113412399

删除功能

当合约不再需要调用的时候,删除功能就派上用场了。

使用方法:

点击删除合约后,该合约将在合约列表中删除。 image-20230328113629940