Refactor how the next available nonce is obtained
Los mantenedores suelen responder en 3 días
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Aptitud para principiantes
- 48/100
- Tipo de issue
- Refactorización
- Claridad
- Bastante claro
- Estado de actividad
- Activo
- Stack tecnológico
- go
- Área
- backend, distributed-systems
Línea de trabajo
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.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
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.
- Lenguaje dominante
- Go
- Estrellas
- 1.5k
- Forks
- 390
- Merge medio
- 2 d 22 h
- PR fusionados (30 d)
- 24
Preparar el entorno
- Incluye un Dockerfile o un archivo de Docker Compose
- Tiene una plantilla de pull request
- Leer la guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de ethersphere/bee
-
Chequebook deployment uses a fixed 175,000 gas limit; it needs about 630,000 under Glamsterdam (live on Sepolia since 2026-10-06)Quizá libre de nuevo @sbackend123 la tomó hace 28 días y no hay ningún pull request abierto. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 85/100
ethersphere/bee#5650 · 1 asignado ·
Los mantenedores suelen responder en 3 días
-
Dificultad 4/5 3-5 días Aptitud para principiantes 22/100
ethersphere/bee#5682 ·
Los mantenedores suelen responder en 3 días
-
ENSv2 is not supported, `resolve failed`Posiblemente ocupada @akrem-chabchoub la tomó hace 7 días. Abierto
ethersphere/bee#5680 · 1 asignado ·
Los mantenedores suelen responder en 3 días
-
Dificultad 4/5 3-5 días Aptitud para principiantes 35/100
ethersphere/bee#5678 ·
Los mantenedores suelen responder en 3 días
-
Add a transaction inbox for outbound chain transactionsPosiblemente ocupada @sbackend123 la tomó hace 22 días. Abiertoseen
Dificultad 5/5 Más de una semana Aptitud para principiantes 35/100
ethersphere/bee#5660 · 1 asignado ·
Los mantenedores suelen responder en 3 días
Todos los issues de ethersphere/bee
Issues similares
-
Cluster details: the Control Plane version field has a different border color than its icon boxAbiertokind/design sig/ui
Dificultad 1/5 Menos de una hora Aptitud para principiantes 92/100
kubermatic/dashboard#8449 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 65/100
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
filecoin-project/curio#1632 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 72/100
-
compose: derived node options overwrite each other's targetsPosiblemente ocupada @yangjj-iso la tomó hoy. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 85/100
Los mantenedores suelen responder en 1 día