Ethos is a meta-compiler for The Bitcoin Protocol.
See docs/architecture.mmd for a full system diagram.
The compiler pipeline:
- Schema Input: Projects produce
schema.jsonfiles in the expected format - IR Generation: Convert
schema.jsontoXXX_XXX.ir.json - Analysis normalizes IR and validates consistency
- Codegen generates Rust client libraries, traits, and types
Deep Dive: docs/semantic-convergence.md
- Rust (edition 2021, rust-version 1.70+)
- just command runner (install with
cargo install just) - Protocol executable (for integration tests):
bitcoind(Bitcoin Core)
Run the complete code generation workflow:
just ethosThis will:
- Generate client libraries from IR files (
resources/ir/) - Run end-to-end tests against spawned protocol nodes
Contributors are warmly welcome, see CONTRIBUTING.md.
CC0-1.0
This is experimental software in active development. Please use appropriate caution.