首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >sendRawTransaction会导致排队的TXs

sendRawTransaction会导致排队的TXs
EN

Ethereum用户
提问于 2016-02-02 16:37:59
回答 1查看 1.5K关注 0票数 8

我试图通过eth.sendRawTransaction API发送原始TXs,但被困住了。我使用EthereumJS生成和签名TXs,实际上,我可以通过eth.sendRawTransactin提交TXs,但是TXs总是导致排队(每个geth文档不可处理)。

我从geth控制台调用了eth.sendRawTransactin,它像往常一样返回一个散列。我可以通过这个散列获得交易的详细信息:

代码语言:javascript
复制
> eth.getTransaction(hash)
{
  blockHash: null,
  blockNumber: null,
  from: "0x89b44e4d3c81ede05d0f5de8d1a68f754d73d997",
  gas: 90000,
  gasPrice: 50000000000,
  hash: "0x69b4a0768e72c3a679a1ae6fb490a831509c3c0a04674b646362d0a3d74689a4",
  input: "0x",
  nonce: 10,
  to: "0xb7e13de69228c37cdff506ea474f31343af33c05",
  transactionIndex: null,
  value: 2000000
}

但是TXs是永远排队的:

代码语言:javascript
复制
> txpool.status
{
  pending: 0,
  queued: 5
}

另外,发送地址也足够富有,足以支付天然气的费用:

代码语言:javascript
复制
> eth.getBalance("89b44e4d3c81ede05d0f5de8d1a68f754d73d997")
20000000000000000020

要进行比较,这是一个有效的事务(由某个客户端创建和发送)

代码语言:javascript
复制
> eth.getTransactionFromBlock(11)
{
  blockHash: "0x41919469d7ed9232adbcacc820e61ad508b30eb5fc4750d3cebd748c22b110b8",
  blockNumber: 11,
  from: "0xb7e13de69228c37cdff506ea474f31343af33c05",
  gas: 90000,
  gasPrice: 50000000000,
  hash: "0xa4d4a22aa1fed291a7da00e24304f7093b4fc09b1c6a18692e4240d6d913d674",
  input: "0x",
  nonce: 4,
  to: "0x89b44e4d3c81ede05d0f5de8d1a68f754d73d997",
  transactionIndex: 0,
  value: 20000000000000000000
}

因为geth可以解析它们,所以我的TXs的格式必须是正确的。我想只剩下签名了。但我很确定TX已经签好了。

有没有办法获得更多关于为什么不能处理TX的信息?我在自己的区块链上使用geth,这样如果有帮助的话,我可以修改源代码。

EN

回答 1

Ethereum用户

回答已采纳

发布于 2016-02-02 18:38:22

如果事务是排队的,但不是可执行的,这意味着在最近执行的事务和等待运行的下一个事务之间存在一个暂时的缺口。

如果使用开发版本的geth,它有两个额外的txpool端点(txpool.content和txpool.inspect),它允许您列出挂起和队列的内容。我猜你的脚本错过了一个现在,产生了不可执行的事务。

票数 10
EN
页面原文内容由Ethereum提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://ethereum.stackexchange.com/questions/869

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档