- web3
- web3.version.api
- web3.version.node
- web3.version.network
- web3.version.ethereum
- web3.version.whisper
- web3.isConnected
- web3.setProvider
- web3.currentProvider
- web3.reset
- web3.sha3
- web3.toHex
- web3.toAscii
- web3.fromAscii
- web3.toDecimal
- web3.fromDecimal
- web3.fromWei
- web3.toWei
- web3.toBigNumber
- web3.net.listening
- web3.net.peerCount
- web3.eth
- web3.eth.defaultAccount
- web3.eth.defaultBlock
- web3.eth.syncing
- web3.eth.isSyncing
- web3.eth.coinbase
- web3.eth.mining
- web3.eth.hashrate
- web3.eth.gasPrice
- web3.eth.accounts
- web3.eth.blockNumber
- web3.eth.register
- web3.eth.unRegister
- web3.eth.getBalance
- web3.eth.getStorageAt
- web3.eth.getCode
- web3.eth.getBlock
- web3.eth.getBlockTransactionCount
- web3.eth.getUncle
- web3.eth.getTransaction
- web3.eth.getTransactionFromBlock
- web3.eth.getTransactionReceipt
- web3.eth.getTransactionCount
- web3.eth.sendTransaction
- web3.eth.sendRawTransaction
- web3.eth.sign
- web3.eth.call
- web3.eth.estimateGas
- web3.eth.filter
- web3.eth.contract
- web3.eth.getCompilers
- web3.eth.compile.solidity
- web3.eth.compile.lll
- web3.eth.compile.serpent
- web3.eth.namereg
- web3.db.putString
- web3.db.getString
- web3.db.putHex
- web3.db.getHex
文章来源于网络收集而来,版权归原创者所有,如有侵权请及时联系!
web3.eth.filter
参数:
String|Object
- 字符串的可取值[latest,pending]。latest
表示监听最新的区块变化,pending
表示监听正在pending
的区块。如果需要按条件对象过滤,如下:fromBlock
:Number|string
- 起始区块号(如果使用字符串latest
,意思是最新的,正在打包的区块),默认值是latest
。toBlock
:Number|string
- 终止区块号(如果使用字符串latest
,意思是最新的,正在打包的区块),默认值是latest
。address
:String
- 单个或多个地址。获取指定帐户的日志。topics
:String[]
- 在日志对象中必须出现的字符串数组。顺序非常重要,如果你想忽略主题,使用null
。如,[null,'0x00...'],你还可以为每个主题传递一个单独的可选项数组,如[null,['option1','option1']]。
返回值:
Object
- 有下述方法的过滤对象。
filter.get(callback)
: 返回满足过滤条件的日志。filter.watch(callback)
: 监听满足条件的状态变化,满足条件时调用回调[async]。filter.stopWatching()
: 停止监听,清除节点中的过滤。你应该总是在监听完成后,执行这个操作。
监听回调返回值:
String
- 当使用latest
参数时。返回最新的一个区块哈希值。String
- 当使用pending
参数时。返回最新的pending
中的交易哈希值。Object
- 当使用手工过滤选项时,将返回下述的日志对象。logIndex
:Number
- 日志在区块中的序号。如果是pending
的日志,则为null
。transactionIndex
:Number
- 产生日志的交易在区块中的序号。如果是pending
的日志,则为null
。transactionHash
:String
,32字节 - 产生日志的交易哈希值。blockHash
:String
,32字节 - 日志所在块的哈希。如果是pending
的日志,则为null
。blockNumber
:Number
- 日志所在块的块号。如果是pending
的日志,则为null
。address
:String
,32字节 - 日志产生的合约地址。data
:string
- 包含日志一个或多个32字节的非索引的参数。topics
:String[]
- 一到四个32字节的索引的日志参数数组。(在Solidity中,第一个主题是整个事件的签名(如,Deposit(address,bytes32,uint256)
),但如果使用匿名的方式定义事件的情况除外)
事件监听器的返回结果,见后合约对象的事件
。
示例:
var filter = web3.eth.filter('pending');
filter.watch(function (error, log) {
console.log(log); // {"address":"0x0000000000000000000000000000000000000000", "data":"0x0000000000000000000000000000000000000000000000000000000000000000", ...}
});
// get all past logs again.
var myResults = filter.get(function(error, logs){ ... });
...
// stops and uninstalls the filter
filter.stopWatching();
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论