2

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

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

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

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

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

你能给我一个建议吗?

4

2 回答 2

1

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

  • 交易随机数太低
  • 或发件人账户资金不足

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

  • 检查是否0xaf8f853382b3b6db6ab7fa4f7df6f5329976988d有一些资金,如果没有像 1 testnet Ether 那样放,然后再试一次。
  • 使用web3.eth.getTransactionCount(accountAddress)检查该帐户的交易计数,如果 nonce 太低,请尝试将其增加 1 直到它起作用。

另请参阅Ethereum Stack Exchange 上的这个问题

于 2016-06-30T08:22:31.410 回答
0

我遇到了“交易随机数太低”这样的问题。当我尝试第二次 ERC20 代币转移时发生这种情况,而第一次仍未完成(少于 X 次确认)。

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

于 2018-06-05T18:03:39.093 回答