以太坊:低tx nonce或资金不足

时间:2016-06-29 09:08:58

标签: blockchain ethereum

我通过发出命令启动了一个专用网络:

geth --datadir="~/datastore/ethereum" --port 30303 --rpc --rpcport 8545 --rpcaddr localhost --networkid 554433 --rpccorsdomain="*" --minerthreads "4" --mine --rpcapi "db,eth,net,web3" --maxpeers 0 --nodiscover --unlock=0 --verbosity 4 --gasprice 100 --gpomin 0 --gpomax 0

然后我打电话给智能合约。我看到smartcontract从不做任何事情。

我查看了日志信息,我总是收到消息。

removed tx (
TX(b1a52b1414eb7b957ce4688a5aad07745f3055b3d415ca55d94afa45549c5dac)
Contract: false
From: af8f853382b3b6db6ab7fa4f7df6f5329976988d
To: c51b59d444993f6d613b023bf8598b781752fc54
Nonce: 14
GasPrice: 0
GasLimit 90000
Value: 0
Data: 0xb0c8f9dc0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000002e516d54704b727248594459794567466d6373434654647a4b6f3154575346595046594239334d696d38456d467764000000000000000000000000000000000000
V: 0x1b
R: 0x97acff26b4ac5727ade4c7a37a69c9ac6c53d3d02530091b81352804566719cd
S: 0xe4b9c8e587a50e8d3b371423913da5bf7be019e5ea78991ad8b089e8802128f
Hex: f8e50e8083015f9094c51b59d444993f6d613b023bf8598b781752fc5480b884b0c8f9dc0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000002e516d54704b727248594459794567466d6373434654647a4b6f3154575346595046594239334d696d38456d4677640000000000000000000000000000000000001ba097acff26b4ac5727ade4c7a37a69c9ac6c53d3d02530091b81352804566719cda00e4b9c8e587a50e8d3b371423913da5bf7be019e5ea78991ad8b089e8802128f
) from pool: low tx nonce or out of funds

你能给我一个建议吗?

2 个答案:

答案 0 :(得分:1)

错误代码非常简单。你的问题是

  • 交易现时太低
  • 或发件人帐户资金不足

我看到你将汽油价格设定为0,但是,我认为geth客户仍然会检查是否有可用的资金。所以你可以做两件事:

  • 检查0xaf8f853382b3b6db6ab7fa4f7df6f5329976988d是否有一些资金,如果没有像1个testnet以太网那样,再试一次。
  • 使用web3.eth.getTransactionCount(accountAddress)检查该帐户的交易计数,如果该值已过低,请尝试将其递增1,直至其生效。

另见this question on Ethereum Stack Exchange

答案 1 :(得分:0)

我遇到“太低的交易nonce”这样的问题。当我尝试第二次ERC20令牌转移而第一次仍没有完成(少于X次确认)时,就发生了这种情况。

第一个完成后,我可以毫无问题地做第二个。