snarkOS
snarkOS copied to clipboard
[Proposal] Ledger struct and related code should live in a single place
We currently have a ledger defined in 4 places:
- SnarkOS beacon is a thin wrapper around the SnarkOS ledger.
- SnarkOS ledger contains a lock to a SnarkVM ledger.
- The Aleo CLI duplicates the one from SnarkOS for the purposes of implementing a local node
This has a few problems:
- Ledger/blockchain knowledge is spread (and partially duplicated) across different repos.
- Adding a new endpoint or changing the interface of a function usually requires making a similar updates in three different repositories and syncing their versions.
A precondition of this change is to have the REST servers consolidated and defined only in SnarkOS as described in #1914 and related issues.
On the note of consolidated REST servers, the initial "baseline" server was added to snarkVM - https://github.com/AleoHQ/snarkVM/pull/1032. The intention is for snarkOS and other repos requiring a server to utilize the snarkVM server (and add additional routes as needed - https://github.com/AleoHQ/snarkOS/pull/1912)
This should now be complete, as the entire Ledger resides in snarkVM