Sidetree Core GO¶

Introduction of the project TODO
Have Questions?¶
We try to maintain a comprehensive set of documentation for various audiences. However, we realize that often there are questions that remain unanswered. For any technical questions relating to TrustBloc not answered here, please use
Gitter (an alternative to Slack) on the #trustbloc-questions channel.
Note
Please, when asking about problems you are facing tell us about the environment in which you are experiencing those problems including the OS, which version of Docker you are using, etc.
Overview¶
This library implements core components required to implement Sidetree Protocol:
Batch Writer¶
Batch writer batches multiple document operations(create, update, delete, recover) in a single batch file. Batch files are stored in a distributed content-addressable storage (DCAS or CAS). A reference to the operation batch is then anchored on the blockchain as Sidetree transaction.
Operation Processor¶
All document ‘processing’ is deferred to resolution time. Resolution of the given ID to its document is done by iterating over all operations in blockchain-time order (starts with ‘create’). Each operation is checked for validity before we apply JSON patch to document.
Document Handler¶
Document handler performs document operation processing and document resolution. It supports both DID documents and generic documents.
Operation Processing
Upon successful validation against configured validator an operation will be added to the batch.
Resolution
Document resolution is based on ID or initial state values.
– DID : The latest document will be returned if found.
- – Long Form DID can be requested in the following format:
- did:METHOD:<unique-portion>:Base64url(JCS({suffix-data, delta}))