Table of Contents
Overview
This repository contain main classes of the
Neo blockchain.
Visit the documentation to get started.
Note: This is Neo 3 branch, currently under development. For the current stable version, please click here.
Project structure
An overview of the project folders can be seen below., Folder, Content, ---, ---, Consensus, Classes used in the dBFT consensus algorithm, including the ConsensusService
actor., Cryptography, General cryptography classes including ECC implementation., IO, Data structures used for caching and collection interaction., Ledger, Classes responsible for the state control, including the MemoryPool
and Blockchain
classes., Network, Peer-to-peer protocol implementation classes., Persistence, Classes used to allow other classes to access application state., Plugins, Interfaces used to extend Neo, including the storage interface., SmartContract, Native contracts, ApplicationEngine
, InteropService
and other smart-contract related classes., VM, Helper methods used to interact with the VM., Wallet, Wallet and account implementation., ## Related projects
Code references are provided for all platform building blocks. That includes the base library, the VM, a command line application and the compiler.
- neo: Neo core library, contains base classes, including ledger, p2p and IO modules.
- neo-vm: Neo Virtual Machine is a decoupled VM that Neo uses to execute its scripts. It also uses the
InteropService
layer to extend its functionalities. - neo-node: Executable version of the Neo library, exposing features using a command line application or GUI.
- neo-modules: Neo modules include additional tools and plugins to be used with Neo.
- neo-devpack-dotnet: These are the official tools used to convert a C# smart-contract into a neo executable file.
Opening a new issue
Please feel free to create new issues to suggest features or ask questions.
If you found a security issue, please refer to our security policy.
Bounty program
You can be rewarded by finding security issues. Please refer to our bounty program page for more information.
License
The NEO project is licensed under the MIT license.