Closed
Conversation
…statement
DEMONSTRATION CODE NOT PRODUCTION SAFE
Given a local replica of any datatrails log (production or otherwise):
- verify the locally replicated log state
- generate an mmr leaf value using the first 24 bytes of the sha256 of
the signed statement as the trie index extrabytes, and an idTimestamp
representing the current time, and the raw bytes of the statement as
the leaf content to be hashed.
- add the leaf value to the in memory copy of the ledger tile (massif)
- generate a consistency proof form the old, verified, state to the
newly created state.
- sign using an ephemeral ecdsa private key (or one providded on the cli)
- write out the new (forked) ledger state:
1. receipt-{mmrIndex}.cbor - the scitt signed statement for the MMR draft ledger
2. checkpoint-{oldSize}-{newSize}.cbor - the signed checkpoint (from
which self service receipts can be produced *without* the ephemeral
private key)
3. fork-{oldSize}-{newSize}.bin the MMR draft leger tile data with the
newly appended leaf.
4. the ephemeral private key in .cbor and .pem format (only if generated)
5. the ephemeral public key in .cbor and .pem format (only if generated)
Note: only minimal testing has been performed at this point.
Updates veracity CLI to use the new ObjectReader/Writer storage interface from go-datatrails-merklelog and consolidates DataTrails event processing through go-merklelog-datatrails. This change significantly simplifies the codebase while maintaining full CLI functionality. Key changes: - Adopts ObjectReader interface for all storage operations (Azure, FS) - Uses functional API: GetMassifContext(), GetMassifHeadContext(), etc. - Replaces app/ package with go-merklelog-datatrails/appdata - Unified readerSelector interface across all commands - Simplified massif store configuration and initialization - Updated all commands: verify-included, node, receipt, replicate-logs Removed functionality: - Local app/ package for event processing (moved to shared library) - Complex storage provider abstractions - Legacy test infrastructure and contexts Code reduction: ~1,258 lines removed, ~327 lines added The CLI now provides the same functionality with a dramatically simplified codebase built on the new minimal storage interfaces. feat: remove hard azure blobs storage dependency feat: remove direct dependencies on logverification, serialization and simplehash in favour of one go-merklelog-datatrails package
Robin/storage providers
feat: explicit options for working with single massif and checkpoint files test: fix & renable the binary tests test: disable all tests dependent on datatrails services which have terminated
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.