A tool for recording and querying provenance data stored on distributed ledgers.
We recommend you start by exploring the Chronicle examples repo, and trying to build and experiment with one of the runnable application domains there: https://github.com/chronicleworks/chronicle-examples
- Examples: https://examples.chronicle.works/
- Chronicle: https://docs.chronicle.works/
Chronicle is built on W3C open standards:
Chronicle implements the PROV-O starting point terms shown below, encoding them using the JSON-LD compaction algorithm onto a backend ledger - currently Hyperledger Sawtooth - or an in-memory stub for testing purposes.
Chronicle extends the core PROV-O vocabulary as described here.
Chronicle is a self contained binary executable that can be used as an ephemeral command line interface for provenance recording and interrogation or as a GraphQL server to provide an interface for higher level services. It embeds PostgreSQL for local synchronization with a backend ledger and is capable of basic key management using a file system.
Chronicle instances have individual data stores, so they do not share state directly and synchronize via ledger updates. The abstract transaction processor should process an API operation in under a millisecond.
Chronicle records provenance by running a deterministic transaction processor both locally and as part of consensus. Local execution ensures that duplicated provenance will not waste resources in consensus and that most contradictions will also be caught early. Provenance will be sent to a validator and recorded on chain unless it contradicts previous provenance.
You can read all about our rationale for open sourcing Chronicle on Medium where our Chief Strategy Officer, Csilla Zsigri, published this article Chronicle: You Say Provenance, We Say Open Source.
We will be publishing a roadmap shortly at which point all developers are invited to contribute to our efforts to make assets trustworthy.
You can participate in the following ways:
- Join our Slack group to chat
- Submit an issue or PR on GitHub
See the LICENSE file.