Refactor how the next available nonce is obtained
维护者通常 2 天内回复
还没有人认领这个 Issue。
评估
- 难度
- 4/5
- 预计耗时
- 3-5 天
- 新手友好度
- 48/100
- Issue 类型
- 重构
- 描述清晰度
- 基本清楚
- 活跃度
- 活跃
- 技术栈
- go
调研方向
Start by reading nextNonce() in the transaction package and the transaction send flows that call it, including how the mutex is acquired and pending transactions are stored on disk. Trace how concurrent sends obtain nonces and where each flow broadcasts and persists its transaction. Done means nonce allocation handles parallel sends without requiring each caller to manage the transaction lifecycle around an external mutex.
由索引模型根据 Issue 内容生成。
描述
Task
How it works now:
Before send any transaction, we need its nonce. nextNonce() in transaction package checks the latest nonce known onchain and among the pending transactions stored on disk. It picks the highest of them and then does +1
The problem:
-
Two parallel calls receive the same nonce.
This forces a mutex that blocks every transaction send until the current transaction has been broadcast and stored on disk. Because of that, all transaction sends line up in a queue. -
Contextual complexity.
nextNonce()cannot be used as a black box: the mutex has to be taken outside the method. In each transaction flow developer must keep in mind transaction lifecycle.
AI Disclosure
- This issue contains suggestions and text generated by an LLM.
- I have reviewed the AI generated content thoroughly.
- I possess the technical expertise to responsibly review the AI generated content mentioned in this issue.
- 主要语言
- Go
- 星标
- 1.5k
- 派生
- 390
- 平均合并
- 3 天 5 小时
- 30 天内合并 PR
- 16
环境准备
- 提供 Dockerfile 或 Docker Compose 文件
- 有 Pull Request 模板
- 阅读贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
ethersphere/bee 的其他 Issue
-
Chequebook deployment uses a fixed 175,000 gas limit; it needs about 630,000 under Glamsterdam (live on Sepolia since 2026-10-06)可能重新可做 @sbackend123 于 34 天前认领,目前没有进行中的 PR。 未关闭
难度 2/5 1-3 小时 新手友好度 85/100
ethersphere/bee#5650 · 已指派 1 人 ·
维护者通常 2 天内回复
-
Make bootnode a node-mode value (node-mode: bootnode)可能已有人在做 @martinconic 于 2 天前认领。 未关闭enhancement needs-discussion
ethersphere/bee#5689 · 已指派 1 人 ·
维护者通常 2 天内回复
-
难度 4/5 3-5 天 新手友好度 22/100
ethersphere/bee#5682 ·
维护者通常 2 天内回复
-
难度 4/5 3-5 天 新手友好度 35/100
ethersphere/bee#5678 ·
维护者通常 2 天内回复
-
Add a transaction inbox for outbound chain transactions可能重新可做 @sbackend123 于 28 天前认领,目前没有进行中的 PR。 未关闭seen
难度 5/5 一周以上 新手友好度 35/100
ethersphere/bee#5660 · 已指派 1 人 ·
维护者通常 2 天内回复
相似的 Issue
-
Case detail: main-column section headers are hard to distinguish from body text可能已有人在做 @yubessy 今天认领。 未关闭
难度 2/5 1-3 小时 新手友好度 68/100
ubie-oss/hecatoncheires#347 ·
维护者通常 1 天内回复
-
[OperatorHub] Add OLM installation method to the documentation #1193可能已有人在做 @NiccoloFei 今天认领。 未关闭
难度 2/5 1-3 小时 新手友好度 70/100
cloudnative-pg/plugin-barman-cloud#1233 ·
维护者通常 1 天内回复
-
难度 2/5 1-3 小时 新手友好度 68/100
维护者通常 1 天内回复
-
难度 2/5 1-3 小时 新手友好度 67/100
维护者通常 2 天内回复
-
build: make check-linter version tests deterministic可能已有人在做 关联的 PR 仍在进行中或已合并。 未关闭
难度 2/5 1-3 小时 新手友好度 75/100
维护者通常 1 天内回复