A modern distributed network for the Smart Economy.
Documentation »
·
developers.neo.org
Neo
·
Neo Modules
·
Neo DevPack
This repository is a csharp implementation of the neo blockchain protocol library. It is jointly maintained by the neo core developers and neo global development community.
It is not the program that starts a node. Neo-CLI lives in neo-project/neo-node. The virtual machine lives in neo-project/neo-vm.
If you are new, start here: docs/getting-started.md.
Official N3 developer hub: developers.neo.org. (The older docs.neo.org tutorials still exist; prefer developers.neo.org for current N3 APIs.)
Beginner-friendly guides in this repository (covers neo, neo-node, and neo-vm):
| Guide | Description |
|---|---|
| Documentation hub | Index of all local docs |
| Getting started | What this repo is, what to clone, common mix-ups |
| Architecture | How neo + neo-node + neo-vm fit together |
| Neo core | This library (neo-project/neo) |
| Neo node | Neo-CLI and plugins (neo-project/neo-node) |
| NeoVM | Virtual machine (neo-project/neo-vm) |
| How to: build and test | dotnet test / publish all three repos |
| How to: run a node | Start Neo-CLI, RPC ports, plugins |
| How to: smart contracts | NEF, deploy, invoke |
| How to: contribute | Branches, which repo to PR |
| Glossary | GAS, dBFT, NEF, hardfork, … |
| Persistence architecture | Stores and DataCache |
| Serialization format | Binary layout |
| Official docs notes | What we verified vs stale links |
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.Extensions/ | Extensions to expand the existing functionality. |
| /src/Neo.Json/ | Neo's JSON specification. |
| /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.
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 - The NEO-4 development branch.master-n3 - The NEO-3 development branch.Important: All pull requests must be based on the master or/and master-n3 branch.
Fork the repository and create your feature branch from master or/and master-n3:
git checkout master-n3 # or git checkout master
git pull origin master-n3 # or git pull origin master
git checkout -b feature/your-feature-name # or bugfix/your-bugfix-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 "feature: add new feature description" # or bugfix: fix bug description
Push to your fork and create a pull request against the master or/and master-n3 branch:
git push origin feature/your-feature-name # or bugfix/your-bugfix-name
Create a Pull Request targeting the master or/and master-n3 branch with:
feature, bugfix, etc. → master or/and master-n3 → release-vX.Y
hotfix → release-vX.Y
master or/and master-n3.master or/and master-n3 periodically.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.
Overall
Maintained
Code review
NuGet
Latest release
Releases this year
905 followers · starred Jan 2018
37 followers · starred Aug 2017
17 followers · starred Feb 2018
18 followers · starred Sep 2017
A modern distributed network for the Smart Economy.
Documentation »
·
developers.neo.org
Neo
·
Neo Modules
·
Neo DevPack
This repository is a csharp implementation of the neo blockchain protocol library. It is jointly maintained by the neo core developers and neo global development community.
It is not the program that starts a node. Neo-CLI lives in neo-project/neo-node. The virtual machine lives in neo-project/neo-vm.
If you are new, start here: docs/getting-started.md.
Official N3 developer hub: developers.neo.org. (The older docs.neo.org tutorials still exist; prefer developers.neo.org for current N3 APIs.)
Beginner-friendly guides in this repository (covers neo, neo-node, and neo-vm):
| Guide | Description |
|---|---|
| Documentation hub | Index of all local docs |
| Getting started | What this repo is, what to clone, common mix-ups |
| Architecture | How neo + neo-node + neo-vm fit together |
| Neo core | This library (neo-project/neo) |
| Neo node | Neo-CLI and plugins (neo-project/neo-node) |
| NeoVM | Virtual machine (neo-project/neo-vm) |
| How to: build and test | dotnet test / publish all three repos |
| How to: run a node | Start Neo-CLI, RPC ports, plugins |
| How to: smart contracts | NEF, deploy, invoke |
| How to: contribute | Branches, which repo to PR |
| Glossary | GAS, dBFT, NEF, hardfork, … |
| Persistence architecture | Stores and DataCache |
| Serialization format | Binary layout |
| Official docs notes | What we verified vs stale links |
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.Extensions/ | Extensions to expand the existing functionality. |
| /src/Neo.Json/ | Neo's JSON specification. |
| /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.
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 - The NEO-4 development branch.master-n3 - The NEO-3 development branch.Important: All pull requests must be based on the master or/and master-n3 branch.
Fork the repository and create your feature branch from master or/and master-n3:
git checkout master-n3 # or git checkout master
git pull origin master-n3 # or git pull origin master
git checkout -b feature/your-feature-name # or bugfix/your-bugfix-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 "feature: add new feature description" # or bugfix: fix bug description
Push to your fork and create a pull request against the master or/and master-n3 branch:
git push origin feature/your-feature-name # or bugfix/your-bugfix-name
Create a Pull Request targeting the master or/and master-n3 branch with:
feature, bugfix, etc. → master or/and master-n3 → release-vX.Y
hotfix → release-vX.Y
master or/and master-n3.master or/and master-n3 periodically.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.
Overall
Maintained
Code review
NuGet
Latest release
Releases this year
905 followers · starred Jan 2018
37 followers · starred Aug 2017
17 followers · starred Feb 2018
18 followers · starred Sep 2017