/neo

NEO Smart Economy

Primary LanguageC#MIT LicenseMIT

neo-logo

Neo Blockchain

A modern distributed network for the Smart Economy.
Documentation »

Neo · Neo VM · Neo Modules · Neo DevPack · Neo Node

               

Current TravisCI build status. Current neo version. Coverage Status License.

Table of Contents

  1. Overview
  2. Project structure
  3. Related projects
  4. Opening a new issue
  5. Bounty program
  6. License

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.