Multi-account support for transaction submission
Chưa có ai nhận issue này.
Đánh giá
- Độ khó
- 5/5
- Thời gian dự kiến
- Hơn một tuần
- Mức phù hợp với người mới
- 30/100
- Loại issue
- Tính năng
- Độ rõ ràng
- Khá rõ ràng
- Mức độ hoạt động
- Đình trệ
- Công nghệ
- go
- Lĩnh vực
- backend-api-design, blockchain
Hướng nghiên cứu
Bắt đầu bằng cách xem xét client gửi giao dịch tùy chỉnh trong dependency issue #4 và tham chiếu BaseAccount.Sequence của module auth trong Cosmos SDK. Được xem là hoàn thành khi hỗ trợ các account được cấp vốn và cấu hình, với cơ chế xử lý nonce độc lập, lựa chọn account, các giới hạn an toàn và loại bỏ một cách phù hợp các account không lành mạnh như được mô tả trong issue này.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
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
- Ngôn ngữ chính
- Go
- Star
- 4
- Fork
- 0
- Chỉ số merge pull request
- Không có pull request nào được merge trong 30 ngày
Chuẩn bị môi trường
- Có Dockerfile hoặc tệp Docker Compose
- Không có mẫu pull request
- Đọc hướng dẫn đóng góp
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của evstack/apex
-
Meta: Blob Submission PipelineĐang mở
Độ khó 5/5 Hơn một tuần Mức phù hợp với người mới 20/100
-
Độ khó 5/5 Hơn một tuần Mức phù hợp với người mới 25/100
-
Độ khó 5/5 Hơn một tuần Mức phù hợp với người mới 25/100
-
Độ khó 5/5 Hơn một tuần Mức phù hợp với người mới 25/100
-
Feature: S3-Compatible Object Storage APICó thể làm lại được @julienrbrt đã nhận 206 ngày trước và không có pull request nào đang mở. Đang mở
Issue tương tự
-
area/tests theme/ci-dx
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 85/100
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
Maintainer thường phản hồi trong vòng 1 ngày
-
bug needs triage pkg/translator/faro
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
open-telemetry/opentelemetry-collector-contrib#51759 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 82/100
appbaseio/reactivesearch-api#402 ·
-
GET /api/v1/system/api_keys returns the full API token in plaintextCó thể đã có người làm @Harsh23Kashyap đã nhận hôm nay. Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 85/100
infiniflow/ragflow#20555 · 1 reaction ·
Maintainer thường phản hồi trong vòng 1 ngày