NEO Yellow Paper
Community Yellow Paper: A Technical Specification for Neo Blockchain
For more specific and dedicated specification, please check NEO Specification. This current repo is focussed on a didactic description of NEO and its transformations, in form of a Yellow Paper.
The Community Yellow Paper base document started as pure LaTeX, as usual in academic publications, however the syntax is not considered as friendly as Markdown. So, why not merge both? :) In order to facilitate the contributions to the document, we decided to adopt pandoc format, which allows hybrid LaTeX + Markdown syntax.
The structure of the document consists of five files:
- yellow_paper.md : main document in Mardown + LaTeX (this file is automatically generated by
- metadata.yaml : document metadata (authors, abstract, ...)
- yellowpaperstyle.pandoc : document style (LaTeX headings)
- eisvogel.latex : base LaTeX template (Eisvogel template with small changes)
- references.bib : bibliography in BibTeX format
Yellow Paper sections are separated on
sections/ folder (these are used as source to generate
Current draft proposal includes 11 sections + references (this may be changed by community, as anything else!):
- 01_Introduction.md : expected release date -> Q2 2019
- 02_Network.md : expected release date -> Q2+ 2019
- 03_Numbers.md : expected release date -> Q2 2019
- 04_Cryptography.md : expected release date -> Q2 2019
- 05_Assets.md : expected release date -> Q2+ 2019
- 06_Transactions.md : expected release date -> Q2+ 2019
- 07_NeoVM_NeoContract.md : expected release date -> Q2 2019
- 08_dBFT.md : first released 14 March, 2019. PDF: Delegated Byzantine Fault Tolerance: Technical details, challenges and perspectives
- 09_SmartEconomy.md : expected release date -> Q2+ 2019
- 10_IoT.md : expected release date -> Q2+ 2019
- 11_Advanced_Contracts.md : expected release date -> Q2+ 2019
- 12_References.md : expected release date -> Q2+ 2019
build instructions (manual build)
Install pandoc and LaTeX base (try pandoc). On debian-based linux, you can simply run
make install, and all dependencies will be installed.
After pandoc and LaTeX base are available, you can simply run
make, which will generate the yellow paper pdf.
building specific section
Any section can be build using command
make section and passing
make section SECTION=08_dBFT will build section 08 (it will be stored on
automatically building using docker
The easiest way to build is by using docker.
Build the docker image using
Compile the yellow paper using
Output will be generated as
How to contribute
If you know Neo technology and want to contribute, feel free to directly submit a Pull Request with the desired changes. Initially, the idea is to create a broad and complete initial version of the document, which will be polished in the future.
This repository is currently MIT Licensed (for text and code), and Free Culture license Creative Commons 4.0 International (CC BY 4.0) for all figures and externally copyrighted material. As usual, every author shall keep the copyright of its own contribution and agree with the CC BY 4.0 license for the combined work.
Please, when contributing, be careful to only add figures covered by Creative Commons licenses, and give proper references to original sources. When adding new original material to this project, contributor agrees that it will be covered by Free Culture license Creative Commons CC BY 4.0.
The beautiful Pandoc/LaTeX template Eisvogel is licensed by BSD 3-Clause License.
NeoResearch Community (2018-2019)