Skip to content

neo-project/neo

This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ec3dd26 · Apr 28, 2020
Feb 11, 2020
Apr 28, 2020
Apr 27, 2020
Aug 28, 2019
Nov 14, 2019
Sep 22, 2019
May 31, 2015
Aug 27, 2019
Dec 19, 2019
Jun 11, 2019
Apr 26, 2020

Repository files navigation

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.