我正在学习以太坊并尝试使用Geth 1.7.3稳定的私人网络。
帐户[0]在私人网络中拥有105个eth,我尝试发送如下所示的eth。
但是eth.sendTransaction命令只返回 “0xaf571929f95ddeaab8761d719dba3c852f5d4f9895968a905c275561eaf57ae6”。
帐户[1]没有收到任何道德。
> eth.getBalance(eth.accounts[0])
105000000000000000000
> personal.unlockAccount(eth.accounts[0])
Unlock account 0x24636f1423f131f5441fbee83323c53c59af247d
Passphrase:
true
> eth.sendTransaction({from: eth.accounts[0], to: eth.accounts[1], value: web3.toWei(2, 'ether')})
"0xaf571929f95ddeaab8761d719dba3c852f5d4f9895968a905c275561eaf57ae6"
>
> eth.getBalance(eth.accounts[1])
0
有谁知道如何解决这个问题?
答案 0 :(得分:1)
首先,检查并确保交易到达您的区块链。使用
设置监听器web3.eth.filter("pending").watch(
function(error,result){
if (!error) {
console.log('Tx Hash: ' + result);
}
}
)
设置好侦听器后,再次运行sendTransaction
并确认您正在获取日志声明。如果是这样,那么您正确地提交了交易。
如评论中所述,接下来是确保交易被挖掘。有几种方法可以做到这一点:
geth attach
连接到它。在geth控制台中,您可以使用miner.start()
开始挖掘。它将返回null,但您应该在geth输出中看到指示已开始挖掘的活动。要停止挖掘,请键入miner.stop()
。geth
仍在运行时启动它。应该接收任何待处理的交易。