返回介绍

web3.eth.Contract - 合约构造函数

发布于 2020-01-19 11:52:17 字数 1125 浏览 3394 评论 0 收藏 0

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
});

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文