Conflux is a production-grade, modular, multi-chain shared sequencer written in Go.
- Rate-limited transaction intake (global TPS configurable)
- Per-chain transaction batching and ordering
- Pluggable LevelDB persistent store
- Dynamic chain registry with unique vmSpaceId for each chain
- Prometheus metrics (extensible)
- Production-ready, structured logging with Zap
- Designed for extensibility: add webhooks, admin APIs, custom batching
-
Clone the repo & install dependencies:
git clone https://github.com/Noooblien/conflux.git cd conflux go mod tidy -
Prepare config:
- Place your config at
.conflux/config.yaml(see sample below).
- Place your config at
-
Build and run:
make build ./confluxor directly:
make run -
Test submit-tx endpoint:
curl -X POST http://localhost:<your_port>/submit-tx \ -H "Content-Type: application/json" \ -d '{"chain":"testchain","payload":"somedata","timestamp":1760800000}'
server: port: 17663
rateLimit: tps: 100
sequencer: batchSize: 50 batchTimeout: 10
.conflux/– config and LevelDB persistent datainternal/api/– HTTP API handlersinternal/sequencer/– queue, batching, orderinginternal/chain/– chain connectorsinternal/ratelimit/– rate limiterinternal/metrics/– Prometheus exporterinternal/registry/– chain registry/vmSpaceIdinternal/storage/– LevelDB integrationpkg/– logging, helpers, utilities
MIT