🚧 NOTICE 🔨 This repository is under active development. Features may change, interfaces are not stable, and the codebase is evolving rapidly.
LingLong is a flexible proposer commitment framework that enables Ethereum validators to trustlessly delegate commitment generation to specialized entities, without transferring operational control. Through its modular design, LingLong orchestrates commitment generation, data availability management, and auxiliary functions to create a streamlined process for variety of proposer commitment, such as preconfirmation, data availability, and more.
$ git clone https://github.com/luban/linglong.git
$ cd linglong && forge install
$ forge test
Path | Description |
---|---|
src/ |
All solidity contracts (middleware, registries, slasher, Taiyi service) |
lib/ |
Git submodules & third-party deps (EigenLayer, Symbiotic, URC, …) |
test/ |
Foundry test-suite |
docs/ |
Extended markdown docs (architecture, contract guides) |
Key docs:
docs/TaiyiRegistryCoordinator.md
– unified operator registrydocs/OperatorSubsetLib.md
– ID encoding schemedocs/EigenLayerMiddleware.md
docs/SymbioticNetworkMiddleware.md
docs/LinglongSlasher.md
Developer how-tos:
docs/registration.md
– register an operator & stakedocs/rewards.md
– create rewards submissions
Pull-requests are welcome! Please open an issue first if you plan a large change.
- Fork → feature branch → PR.
- Run
forge test
, thenforge fmt
. - Ensure new docs are added under
docs/
.
By contributing you agree to license your work under the Apache 2.0 license