Flutter Web3:Dart 中的智能合约交互

Dart 是用于构建 dApp 的最通用的编程语言之一,本文将展示在 Dart 中与智能合约交互、调用函数和监听事件是多么容易。

1_L6DajgxNeMrVfeNQS4kRFg.png

使用 Web3dart 生成智能合约 dart 绑定。

web3dart 包带有一个非常酷的生成器,允许您从 ABI 生成 dart 类。虽然这可能不适用于超级复杂的智能合约,但通过使用 build_runner 从 ABI/字节码创建函数和类来简化流程大有帮助。

首先我们使用pubspec.yaml以下依赖项创建我们的项目。

1.png

接下来,我们使用 hardhat、truffle 或任何您喜欢的 solidity 编译器来编译我们的智能合约以获得 abi。

然后我们可以将我们的 ABI 放在一个合约文件夹中,确保用.abi.json扩展名重命名它。

2.png

接下来我们 使用dart run build_runner build -v 构建项目。

3.png

这将生成一个Lock.g.dart文件,其中包含在智能合约的 ABI 中找到的不同方法、类和事件。

4.png

接下来,我们使用hardhat将智能合约部署到测试链。

5.png

一旦我们部署了智能合约,localhost我们就可以轻松编写一个 dart 脚本来测试我们是否可以与部署的智能合约正确交互:


我们可以访问 Lock 智能合约的 dart 实现中存在的不同函数和事件。

6.png

通过运行dart main.dart我们可以很容易地看到我们已经能够与我们部署的智能合约进行无缝交互。

7.png
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容