【web3】使用web3.js发布并执行智能合约

前言

昨天我们学习了使用 web3.js 库查询链上区块和交易的用法,今天我们来介绍一下使用 web3.js 与智能合约的交互。在学习本节前,你应该对智能合约有一定的了解。

智能合约的生命周期包括 创建、发布、执行 以及 销毁。

  • 创建:在 Remix 中编写智能合约,编译生成 ABI 和 字节码文件。
  • 发布:对应 Remix 中的 Deploy 按钮的功能,也即 web3.js 中合约实例上的 deploy 方法。
  • 执行:对应web3.js 中合约实例上的 call 和 send 方法。
  • 销毁:在合约中使用 destruct(address) 方法销毁指定合约。

因此我们在使用 web3.js 与合约交互时也包括这几个步骤。

与合约交互

应用程序二进制接口(ABI)

应用程序二进制接口(ABI)相当于智能合约暴露出来的标准接口,通过这个接口可以将智能合约转换为别的应用程序中的对象实例。通过这个对象实例就可以与智能合约进行交互。

? ABI对象实例
  • 函数(functions)* type:函数类型。默认为 function ,也可能是 constructor* stateMutability:状态可变性。* payable* nonpayable* view* pure* inputs,outputs:函数输入输出的参数列表* name:函数名称* 事件(events)* type:event* inputs:输入对象列表,包括 name , type , indexed* anonymous:是否为匿名的

创建合约

在一个合约中,我们可以编写的内容:函数,结构体,构造函数,状态变量,事件,枚举类型等。一个合约想

本文来自网络,不代表协通编程立场,如若转载,请注明出处:https://net2asp.com/e470ca936e.html