web3.eth 对象
web3.eth
是 web3.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: 恋水无意
腾讯云开发者社区:孟斯特