Skip to content

Noooblien/conflux

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Conflux

Conflux is a production-grade, modular, multi-chain shared sequencer written in Go.

Features

  • 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

Quick Start

  1. Clone the repo & install dependencies:

    git clone https://github.com/Noooblien/conflux.git
    cd conflux
    go mod tidy
    
  2. Prepare config:

    • Place your config at .conflux/config.yaml (see sample below).
  3. Build and run:

    make build
    ./conflux
    

    or directly:

    make run
    
  4. 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}'
    

Sample .conflux/config.yaml

server: port: 17663

rateLimit: tps: 100

sequencer: batchSize: 50 batchTimeout: 10

Directory Structure

  • .conflux/ – config and LevelDB persistent data
  • internal/api/ – HTTP API handlers
  • internal/sequencer/ – queue, batching, ordering
  • internal/chain/ – chain connectors
  • internal/ratelimit/ – rate limiter
  • internal/metrics/ – Prometheus exporter
  • internal/registry/ – chain registry/vmSpaceId
  • internal/storage/ – LevelDB integration
  • pkg/ – logging, helpers, utilities

License

MIT

About

Conflux is a production-grade, modular, multi-chain shared sequencer written in Go.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors