web3.eth 对象

web3.ethweb3.js 库中用于以太坊区块链交互的主要对象,它提供了一系列的方法来获取区块链数据,发送交易,操作智能合约等。

1. 获取账户

  • web3.eth.getAccounts()
    • 描述: 返回当前节点控制的所有账户地址。
    • 返回值: Promise 返回一个包含账户地址的数组。
    • 示例:
      web3.eth.getAccounts().then(console.log);
      

2. 获取当前区块号

  • web3.eth.getBlockNumber()
    • 描述: 返回当前区块链的最新区块号。
    • 返回值: Promise 返回当前的区块号。
    • 示例:
      web3.eth.getBlockNumber().then(console.log);
      

3. 获取特定区块的信息

  • web3.eth.getBlock(blockHashOrBlockNumber)
    • 描述: 根据区块号或区块哈希值获取一个区块的详细信息。
    • 参数:
      • blockHashOrBlockNumber (String|Number): 区块号或区块哈希。
    • 返回值: Promise 返回区块的详细信息。
    • 示例:
      web3.eth.getBlock('latest').then(console.log);
      

4. 发送交易

  • web3.eth.sendTransaction(transactionObject)
    • 描述: 发送一个交易到区块链。
    • 参数:
      • transactionObject (Object): 交易对象,包含如 from, to, value, data 等字段。
    • 返回值: Promise 返回交易的收据。
    • 示例:
      web3.eth.sendTransaction({from: '0x...', to: '0x...', value: '1000000000000000'}).then(console.log);
      

5. 调用智能合约方法

  • web3.eth.call(callObject, blockNumber)
    • 描述: 执行一个智能合约的调用操作,这通常用于读取数据。
    • 参数:
      • callObject (Object): 调用对象,包含 to, data 等字段。
      • blockNumber (Number|String): 可选,指定从哪个区块的状态读取数据。
    • 返回值: Promise 返回调用结果。
    • 示例:
      web3.eth.call({to: '0x...', data: '0x...'}).then(console.log);
      

6. 监听新区块的产生

  • web3.eth.subscribe('newBlockHeaders')
    • 描述: 监听新区块头的事件。
    • 返回值: 返回一个订阅对象,可以用来处理接收到的数据。
    • 示例:
      web3.eth.subscribe('newBlockHeaders', function(error, result) {
          if (!error) {
              console.log(result);
          }
      })
      .on("data", function(blockHeader){
          console.log(blockHeader);
      });
      

孟斯特

声明:本作品采用署名-非商业性使用-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0)进行许可,使用时请注明出处。

Author: mengbin

blog: mengbin

Github: mengbin92

cnblogs: 恋水无意

腾讯云开发者社区:孟斯特