initial scaffold
- module layout: cmd/mithril-go, internal/{aggregator,artifact,verify,networks}
- aggregator REST client, list command working against mainnet
- download/extract/verify stubbed
- no deps yet, pure stdlib
This commit is contained in:
commit
ddf1ec3491
8 changed files with 450 additions and 0 deletions
42
README.md
Normal file
42
README.md
Normal file
|
|
@ -0,0 +1,42 @@
|
|||
# mithril-go
|
||||
|
||||
Pure-Go client for the Cardano [Mithril](https://mithril.network) protocol.
|
||||
|
||||
Mithril is Cardano's stake-based certified-snapshot system — it lets a new
|
||||
node bootstrap the chain from a cryptographically-verified snapshot
|
||||
instead of replaying every block from genesis.
|
||||
|
||||
The official [`mithril-client`](https://github.com/input-output-hk/mithril)
|
||||
is Rust. This project is a pure-Go reimplementation that produces a single
|
||||
static binary with no runtime dependencies — useful for:
|
||||
|
||||
- Embedding a Mithril bootstrap into Go-based Cardano tooling
|
||||
(alongside `gouroboros`, `dingo`, and friends)
|
||||
- Running on constrained ARM/embedded targets where shipping the Rust
|
||||
binary + its deps is overkill
|
||||
- Operators who prefer a single `go install`-able helper
|
||||
|
||||
## Status
|
||||
|
||||
**Early development — not usable yet.** Current state:
|
||||
|
||||
- [x] Module scaffold, network configs, aggregator REST client
|
||||
- [x] `list` command hits the aggregator and enumerates cardano-database snapshots
|
||||
- [ ] `download` — range-chunk parallel HTTP, SHA-256 integrity, resume
|
||||
- [ ] `extract` — streamed zstd + tar decompression
|
||||
- [ ] Genesis Ed25519 verification (per-network bootstrap key)
|
||||
- [ ] STM BLS12-381 aggregate-signature verification (the hard part)
|
||||
- [ ] Incremental / ancillary artifact support
|
||||
|
||||
## Usage (eventual)
|
||||
|
||||
```
|
||||
mithril-go info -network mainnet
|
||||
mithril-go list -network mainnet
|
||||
mithril-go download -network mainnet -out ./db latest
|
||||
mithril-go verify -network mainnet ./db
|
||||
```
|
||||
|
||||
## License
|
||||
|
||||
TBD
|
||||
Reference in a new issue