Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

Multi-account support for transaction submission

Abierto
#5 0 comentarios 0 reacciones 0 asignados Ver en GitHub

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

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: auth module BaseAccount.Sequence
Lenguaje dominante
Go
Estrellas
4
Forks
0
Métricas de merge de PR
Sin PR fusionados en 30 d

Preparar el entorno

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de evstack/apex

Todos los issues de evstack/apex

Issues similares

Más issues de Go

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.