Neo node (neo-project/neo-node)

August 26, 2026 · View on GitHub

Neo-CLI is the full-node program: P2P, optional RPC, optional consensus, wallet commands.

  • Source: github.com/neo-project/neo-node
  • N3 branch: master-n3
  • Solution: neo-node.sln
  • Targets net10.0, version prefix 3.10.2 (same generation as this library)

This documentation lives in neo-project/neo so beginners can see the whole stack in one place. Changes to CLI or plugins are still submitted on the neo-node repository.

What you get

From the official node introduction (feature table is still useful):

Neo-CLI (this repo)Neo-GUI
InterfaceCommand lineGraphical
Wallet / transfer / voteYesYes
JSON-RPCYes (RpcServer plugin)No
Participate in consensusYes (DBFTPlugin)No

GUI for N3 is maintained separately: neo-ngd/Neo3-GUI. The historical neo-gui folder inside neo-node is not the app most users download.

Layout on GitHub

neo-node/
  src/Neo.CLI/            # the executable project
  src/Neo.ConsoleService/ # prompt, commands
  plugins/                # optional DLLs
    RpcServer/
    DBFTPlugin/
    LevelDBStore/
    RocksDBStore/
    ApplicationLogs/
    OracleService/
    StateService/
    TokensTracker/
    StorageDumper/
    RestServer/
    SQLiteWallet/
    SignClient/

  tests/

CLI depends on neo-project/neo (this library) and neo-vm.

Plugins you will actually use

PluginWhy
LevelDBStore or RocksDBStorePersist the chain. Without one, many setups cannot keep state on disk.
RpcServergetblock, invokescript, wallets over HTTP
ApplicationLogsContract notify logs (needed for many indexers)
DBFTPluginstart consensus on a private net or as a CN
TokensTrackerNEP-17 balance RPCs
OracleServiceIf the node provides oracle
StateServiceMPT state root / proofs

Load plugins by putting their published output in Plugins/<Name>/ next to the CLI, or use the install <Name> command (downloads a release zip; restart CLI).

Ports (still correct)

MainNetTestNet
RPC HTTP1033220332
RPC HTTPS1033120331
P2P TCP1033320333
P2P WS1033420334

Security: Neo-CLI does not require a password to call RPC after the wallet is open, and it does not remotely lock the wallet. Bind RPC to localhost or put it behind a firewall. This warning on developers.neo.org is still valid.

Commands worth knowing first

Full tables: CLI command reference (command names match current CLI).

After neo> appears:

help
show state
plugins
create wallet wallet.json
open wallet wallet.json
list nativecontract

Wallet must be open for send, deploy, invoke, start consensus.

Verified vs stale (neo-node README)

The neo-node README on master-n3 still says:

  • “Install .NET Core” and “Ubuntu LTS 14, 16 and 18”
  • cd neo-node/neo-cli then dotnet neo-cli.dll

Current source:

  • SDK is .NET 10, project is src/Neo.CLI
  • Publish with dotnet publish src/Neo.CLI -c Release
  • Run the published Neo.CLI / neo-cli binary from the output directory, with config.json and Plugins/

Step-by-step: How to: run a node.

Docker

neo-node ships a Docker context under src/Neo.CLI/Docker (see that README). Typical ports: 10332 (RPC) and 10333 (P2P).

Logging and fast sync

  • Logs: ApplicationLogs plugin
  • Faster catch-up: offline block files — sync blocks (older docs URL; the idea is still “import a chain dump instead of P2P from genesis”)

Next