Skip to content

neo-project/neo

Repository files navigation

neo-logo

Neo Blockchain

A modern distributed network for the Smart Economy.
Documentation »

Neo · Neo Modules · Neo DevPack

               

Current neo version. Coverage Status License.

Open in GitHub Codespaces.

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 tutorials to get started.

Project structure

An overview of the project folders can be seen below.

Folder Content
/src/neo/Consensus/ Classes used in the dBFT consensus algorithm, including the ConsensusService actor.
/src/neo/Cryptography/ General cryptography classes including ECC implementation.
/src/neo/IO/ Data structures used for caching and collection interaction.
/src/neo/Ledger/ Classes responsible for the state control, including the MemoryPool and Blockchain classes.
/src/neo/Network/ Peer-to-peer protocol implementation classes.
/src/neo/Persistence/ Classes used to allow other classes to access application state.
/src/neo/Plugins/ Interfaces used to extend Neo, including the storage interface.
/src/neo/SmartContract/ Native contracts, ApplicationEngine, InteropService and other smart-contract related classes.
/src/neo/VM/ Helper methods used to interact with the VM.
/src/neo/Wallet/ Wallet and account implementation.
/src/Neo.CLI/ neo-cli console application for the running a FULL node.
/src/Neo.Extensions/ Extensions class to expand the existing functionality.
/src/Neo.Json/ Neo's JSON Specification classes.
/src/Neo.VM/ Neo base class virtual machine.
/src/plugins/ Include ApplicationLogs, LevelDBStore, RpcServer, OracleService, DBFTPlugin and more.
/tests/ All unit tests.

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: Included libraries are Neo, Neo-CLI, Neo-GUI, Neo-VM, test and plugin modules.
  • neo-express: A private net optimized for development scenarios.
  • neo-devpack-dotnet: These are the official tools used to convert a C# smart-contract into a neo executable file.
  • neo-proposals: NEO Enhancement Proposals (NEPs) describe standards for the NEO platform, including core protocol specifications, client APIs, and contract standards.
  • neo-non-native-contracts: Includes non-native contracts that live on the blockchain, included but not limited to NeoNameService.

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.