如果要查询主网上的交易记录,可以使用etherscan。但是,如果是你自己搭建的私链,应该如何查询交易记录呢?
答案是你需要自己监听链上的日志,存到数据库里,然后在这个数据库中查询。例如:
var addr = "0xbfb2e296d9cf3e593e79981235aed29ab9984c0f"var filter = web3.eth.filter({fromBlock:0, toBlock:'latest', address: addr})
filter.get(function (err, transactions) {
transactions.forEach(function (tx) {
var txInfo = web3.eth.getTransaction(tx.transactionHash)
//这时可以将交易信息txInfo存入数据库
})
})
web3.eth.filter()用来监听链上的日志,web3.eth.getTransaction()用来提取指定交易的信息,一旦获得交易信息,就可以存入数据库供查询用了。
推荐一个实战入门,你可以看看:以太坊教程
结果为true表示连接成功
由于在js中不能正确的处理BigNumber,所以需要引入web3.js依赖的大数处理的库。
但是20位以上的浮点数会出错,推荐使用wei作为单位,再向用户展示的时候再将wei转换为其他单位可以避免此类错误
成功后,在remix中可以显示部署的合约交易信息
在本地geth的日志中,可以看到挖矿成功,并将合约写入区块的信息
法五,若合约已经部署到链上,则可以通过abi以及合约地址,得到合约