All development has been moved to City Of Zion
A curated and categorised list of awesome documentation for NEO.
Read first the docs marked with [Basic], then the [Intermediate] ones and finally the [Advanced] ones.
Equivalences:
- MetaMask = NEOLine, Teemo or O3
- NEOLine: Chrome extension | Docs
- Teemo: Chrome extension | Docs
- O3: Desktop wallet | Docs
- Web3 = neon-js | Docs | JSFiddle Examples
- Mist = nOS
- Geth = neo-cli or neo-python
- Ganache = neo-local
- ENS = NNS
- Solidity = C# or Python
- There are more languages that can be used to code smart contracts, such as Java or Go, but the compilers and the tooling around them are not as mature as the ones available for C# and Python so use at your own risk.
- Remix IDE = Neocompiler
- Differences:
- NEO smart contracts can't send NEO or GAS by themselves, they can only send NEP-5 tokens. NEO smart contracts can receive and store NEO or GAS, but to transfer these a transaction must be crafted and sent by a node in the NEO network.
- NEO smart contracts can return data of arbitrary length, so returning dynamic arrays is possible.
- ERC20 = NEP-5
- ERC721 = NEP-11
- ERC165 = NEP-10
- Ether = GAS (GAS fulfills all the functions of ether, the other token, NEO, is only used for voting the validators)
- EVM = NeoVM
- Read this medium article
- Read this explanation of how validator voting works
- Extra:
- To understand the old version of dBFT better
- At the end of the day NGD owns a huge amount of NEO so they are the once deciding who will be the validators. Understand how NGD picks the validators
- To understand the new version of dBFT better, skim through this paper (you don't have to read it all as it's quite verbose)
- To understand the attack that lead to the creation of dBFT 2.0, read this issue comment
- MUST read: NeoVM tutorial
- NeoVM overview and future upgrades in article form and video form
- Explanation of stack isolation and why it is needed
- NeoVM architecture explanation and Opcode reference
- Syscall reference
- Overview, examples and quick reference
- Detailed reference
- Explanation and reference of messages used for consensus formation
- Explanation of the requisites needed to become a core developer
- NEO Enhancement Proposals (NEPs). Not really useful, I'd recommend only reading NEP-5. I'd delay reading the other NEPs till you find a reference to them and want to know more about a specific one.
- NeoFS - Distributed file system (like IPFS) that uses zero knowledge proofs
- NeoQS - An adaptation of the NEO protocol that uses quantum resistant algorithms
- dBFT 2.0 - An adaptation of pBFT for smart contract blockchains
Comprehensive list of all the documentation sources that are worthwhile
- Docs
- Developer guide
- Community articles
- NEO Tutorial
- NGD reference
- API reference
- Yellowpaper / Specification (they are the same)
- NEPs (RFCs for NEO)