A modern distributed network for the Smart Economy.
Documentation »
Neo
·
Neo Modules
·
Neo DevPack
- git clone https://github.com/neo-project/neo.git
- cd neo/src/Neo.CLI
- make build
This repository is a csharp implementation of the neo blockchain. It is jointly maintained by the neo core developers and neo global development community. Visit the tutorials to get started.
An overview of the project folders can be seen below.
| Folder | Content |
|---|---|
| /src/neo/Cryptography/ | General cryptography implementation, including ECC. |
| /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. |
| /src/neo/Network/ | Peer-to-peer protocol implementation. |
| /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/Wallets/ | Wallet and account implementation. |
| /src/Neo.CLI/ | neo-cli console application for running a FULL node. |
| /src/Neo.Extensions/ | Extensions to expand the existing functionality. |
| /src/Neo.Json/ | Neo's JSON specification. |
| /src/Neo.VM/ | Neo virtual machine. |
| /src/plugins/ | Include ApplicationLogs, LevelDBStore, RpcServer, OracleService, DBFTPlugin and more. |
| /tests/ | All unit tests. |
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.
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.
We welcome contributions to the Neo project! To ensure a smooth collaboration process, please follow these guidelines:
master- Contains the latest stable release version. This branch reflects the current production state.dev- The main development branch where all new features and improvements are integrated.
Important: All pull requests must be based on the dev branch, not master.
-
Fork the repository and create your feature branch from
dev:git checkout dev git pull origin dev git checkout -b feature/your-feature-name
-
Make your changes following the project's coding standards and conventions.
-
Test your changes thoroughly to ensure they don't break existing functionality.
-
Commit your changes with clear, descriptive commit messages:
git commit -m "feat: add new feature description" -
Push to your fork and create a pull request against the
devbranch:git push origin feature/your-feature-name
-
Create a Pull Request targeting the
devbranch with:- Clear title and description
- Reference to any related issues
- Summary of changes made
feature/bug-fix → dev → master (via release)
- Feature branches are merged into
dev devis periodically merged intomasterfor releases- Never create PRs directly against
master
For more detailed contribution guidelines, please check our documentation or reach out to the maintainers.
You can be rewarded by finding security issues. Please refer to our bounty program page for more information.
The NEO project is licensed under the MIT license.