The Node.js implementation of a blockchain-agnostic Sidetree Node using TypeScript.
See the latest spec for full Sidetree protocol specification.
See the implementation document for the detailed description of this implementation.
- Must pass
npm run test
. - Must pass
npm run lint
. - Prefix an interface that require implementation with
I
. e.g.ITransactionProcessor
. - Suffix a data-holder interface (without definition of methods) with
Model
. e.g.TransactionModel
. - Use default export if class/interface name matches the file name.
- Sort imports.
- Clone the repo.
- Create a topic branch for your spec contributions.
- Add the following entry to your local repo's
.git/info/exclude
file:spec/index.html
. - run
npm install
- run
npm run spec:edit
- Open the generated
index.html
rendering of the spec, located in thespec/
directory, in your browser. - Modify files in the
spec/markdown/
directory to make changes, which will render realtime in theindex.html
file you have open in your browser. - When you are happy with your changes, commit to your topic branch and open a Pull Request on GitHub and reviewers will be alerted to review for a potential merge.
NOTE: 2019-08-13: docker-compose out-of-date, needs to be udpated.
The Sidetree components are available via docker containers . Please see the docker document to find out details on building and running.