Multi-account support for transaction submission
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 5/5
- Tiempo estimado
- Más de una semana
- Aptitud para principiantes
- 30/100
- Tipo de issue
- Nueva funcionalidad
- Claridad
- Bastante claro
- Estado de actividad
- Estancado
- Stack tecnológico
- go
- Área
- backend-api-design, blockchain
Línea de trabajo
Empieza revisando el cliente personalizado de envío de transacciones en dependency issue #4 y la referencia a BaseAccount.Sequence del módulo auth de Cosmos SDK. Se considera terminado cuando se admitan cuentas financiadas configuradas con gestión independiente de nonces, selección de cuentas, límites de seguridad y eliminación controlada de cuentas no saludables, tal como se describe en este issue.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Summary
Support submitting blobs from multiple funded accounts to avoid nonce contention when writing to a single namespace at high throughput.
Problem
When a single account submits transactions concurrently, nonce (sequence number) conflicts cause failures:
- Tx A gets nonce 5, Tx B gets nonce 5 → one fails with "account sequence mismatch"
- Serial submission avoids this but kills throughput
- Mempool ordering is not guaranteed, so even sequential nonce assignment can race
Design
Account pool
- Configure multiple funded accounts (key/mnemonic per account)
- Round-robin or least-recently-used assignment when a submission is requested
- Each account manages its own nonce sequence independently
Nonce management
- Track pending nonce per account locally (don't rely solely on on-chain query)
- Increment optimistically on broadcast, roll back on rejection
- Handle sequence mismatch errors by re-querying and retrying from the correct nonce
Configuration
[submission]
enabled = true
[[submission.accounts]]
name = "submitter-1"
key_file = "./keys/submitter-1.json"
[[submission.accounts]]
name = "submitter-2"
key_file = "./keys/submitter-2.json"
[submission.pool]
strategy = "round-robin" # or "least-pending"
max_pending_per_account = 4
Safety
- Monitor account balances, alert when low
- Cap max pending transactions per account to bound risk
- Graceful degradation: if an account is unhealthy (repeated failures, low balance), remove from rotation
Dependencies
- Requires #4 (custom transaction submission client) — nonce management is tightly coupled with how we build and broadcast transactions
References
- Cosmos SDK sequence/nonce model:
authmoduleBaseAccount.Sequence
- Lenguaje dominante
- Go
- Estrellas
- 4
- Forks
- 0
- Métricas de merge de PR
- Sin PR fusionados en 30 d
Preparar el entorno
- Incluye un Dockerfile o un archivo de Docker Compose
- Sin 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 evstack/apex
-
Meta: Blob Submission PipelineAbierto
Dificultad 5/5 Más de una semana Aptitud para principiantes 20/100
-
Dificultad 5/5 Más de una semana Aptitud para principiantes 25/100
-
Dificultad 5/5 Más de una semana Aptitud para principiantes 25/100
-
Dificultad 5/5 Más de una semana Aptitud para principiantes 25/100
-
Feature: S3-Compatible Object Storage APIQuizá libre de nuevo @julienrbrt la tomó hace 207 días y no hay ningún pull request abierto. Abierto
Todos los issues de evstack/apex
Issues similares
-
[submenu] nil issue on ubuntu 26.04Posiblemente ocupada @egoist la tomó hoy. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 85/100
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 70/100
prime-radiant-inc/evener#3873 ·
Los mantenedores suelen responder en 1 día
-
extract_llm_sweep / cache_aware_summarizer prefix ask 400s when thinking.budget_tokens exceeds PrefixAskMaxTokensPosiblemente ocupada @amiddavid la tomó hoy. Abierto
Dificultad 1/5 Menos de una hora Aptitud para principiantes 85/100
rossoctl/context-guru#405 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 80/100
router-for-me/CLIProxyAPI#6423 ·
Los mantenedores suelen responder en 1 día
-
bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
Los mantenedores suelen responder en 2 días