我正在试图发送以太到一个帐户,然后部署一个合同与该帐户。因此,我需要设置一个观察者,它在事务完成或挖掘时触发,这样我就可以部署契约了。使用“未决”和“最新”的观察者不会触发被挖掘的事务。所以我试着让一个观察者来查看地址,但它没有触发。
代码:“为该帐户设置监视者”
web3.eth.filter({address: "0x7480e208a68aae46d96cad5341ae111a2a86dcf6"}, function(error, result){
if (error){
return console.log(error)
}
console.log("----filter-----")
console.log(JSON.stringify(web3.eth.getBalance("0x7480e208a68bae46d06cad5341ae111a2a86dcf6")))
console.log(result);
console.log("----filter-----")
});现在做交易。
web3.eth.sendTransaction({ from: web3.eth.coinbase, to: "0x7480e208a68bae46d06cad5341ae111a2a86dcf6", value: 10000000000*4 })对此非常陌生,请告诉我什么才是正确的方法。
发布于 2017-06-24 13:50:57
web3.eth.filter方法只侦听日志(即由合同触发的事件),但不侦听特定帐户之间的正常事务(源:https://github.com/ethereum/wiki/wiki/JavaScript-API#web3ethfilter)。
您可以使用“最新”参数设置一个筛选器,以获取新块并查询该块的事务。下面是我曾经做过的一个片段:
var filter = web3.eth.filter("latest",function(error, blockHash) {
if (!error) {
var block = web3.eth.getBlock(blockHash, true);
if (block.transactions.length > 0) {
console.log("found " + block.transactions.length + " transactions in block " + blockHash);
console.log(JSON.stringify(block.transactions));
} else {
console.log("no transaction in block: " + blockHash);
}
}
});https://ethereum.stackexchange.com/questions/18098
复制相似问题