web3.eth.Contract - 合约构造函数
优质
小牛编辑
131浏览
2023-12-01
web3.eth.Contract
类简化了与以太坊区块链上智能合约的交互。创建合约对象时, 只需指定相应智能合约的json接口,web3就可以自动地将所有的调用转换为底层 基于RPC的ABI调用。
通过web3的封装,与智能合约的交互就像与JavaScript对象一样简单。
实例化一个新的合约对象:
new web3.eth.Contract(jsonInterface[, address][, options])
参数:
- jsonInterface - Object: 要实例化的合约的json接口
- address - String: 可选,要调用的合约的地址,也可以在之后使用 myContract.options.address = '0x1234..' 来指定该地址
- options - Object : 可选,合约的配置对象,其中某些字段用作调用和交易的回调:
- from - String: 交易发送方地址
- gasPrice - String: 用于交易的gas价格,单位:wei
- gas - Number: 交易可用的最大gas量,即gas limit
- data - String: 合约的字节码,部署合约时需要
返回值:
Object
: The contract instance with all its methods and events.
示例代码:
var myContract = new web3.eth.Contract([...], '0xde0B295669a9FD93d5F28D9Ec85E40f4cb697BAe', {
from: '0x1234567890123456789012345678901234567891', // default from address
gasPrice: '20000000000' // default gas price in wei, 20 gwei in this case
});