/neo-express

Neo Private Net optimized for development scenarios

Primary LanguageC#MIT LicenseMIT

Neo-Express and Neo-Trace

Nuget Build Status

Neo-Express and Neo-Trace

Overview

Neo-Express is a private net optimized for development scenarios, built on the same Neo platform core as neo-cli and neo-gui to maximize compatibility between local development and public chain environments. Neo-Trace is a tool for generating trace files for the Neo Smart Contract Debugger.

  • Key Features

    Neo-Express:

    • Blockchain instance management
    • Wallet management
    • Asset management
    • Smart contract management
    • Blockchain checkpoint and rollback

    Neo-Trace:

    • Generate trace files for Neo Smart Contract Debugger
    • Support specifying blocks by index or hash and transactions by hash

Download Links

Platform Download Link
Windows win-x64-3.7.6.zip
win-arm64-3.7.6.zip
macOS osx-x64-3.7.6.tar.xz
osx-arm64-3.7.6.tar.xz
Linux linux-x64-3.7.6.tar.gz
linux-musl-arm64-3.7.6.tar.gz
linux-arm64-3.7.6.tar.gz

Installation Guide

Install via Release Package

  1. Download the latest release package from neo-express releases for your operating system.
  2. Unzip the package on your local machine.
  3. Run the neoxp.exe command in the terminal from the directory where you unzipped the package.

Install via .NET Tool

Requirements

Installation Steps

To install the latest version of Neo-Express as a global tool, run the following command in a terminal window:

dotnet tool install Neo.Express -g

To update Neo-Express to the latest version, run the following command:

dotnet tool update Neo.Express -g

The installation and update process for Neo-Trace is identical:

dotnet tool install Neo.Trace -g
dotnet tool update Neo.Trace -g

Additional Neo-Express Requirements

Ubuntu Installation

Note: While Microsoft has instructions for installing .NET via Snap, there is a known issue with this approach that leads to a segmentation fault in Neo Express. Unfortunately, this issue with the .NET snap installer has been closed and will not be fixed. As such, we recommend using APT to install .NET on Ubuntu instead.

Installing on Ubuntu requires installing libsnappy-dev, libc6-dev, and librocksdb-dev via apt-get:

sudo apt install libsnappy-dev libc6-dev librocksdb-dev -y

macOS Installation

Installing on macOS requires installing rocksdb via Homebrew:

brew install rocksdb

Note: .NET 6 Arm64 has full support for Apple Silicon. Homebrew likewise also supports Apple Silicon. If you have any issues running Neo-Express on Apple Silicon hardware, please open an issue in the Neo-Express repo.

Usage Guide

Neo-Express

  • Create a new local Neo network:

    neoxp create
  • List all wallets:

    neoxp wallet list
  • Show genesis account balance:

    genesis to use the consensus node multi-sig account which holds the genesis NEO and GAS.

    neoxp show balances genesis
  • Send 1 gas from genesis account to node1 account:

    neoxp transfer 1 gas genesis node1

Please review the Command Reference to get an understanding of Neo-Express capabilities.

Neo-Trace

  • Generate a trace file for a block:

    neotrace block 365110 --rpc-uri testnet
  • Generate a trace file for a transaction:

    neotrace tx 0xef1917b8601828e1d2f3ed0954907ea611cb734771609ce0ce2b654bb5c78005 --rpc-uri testnet

Note: Neo-Trace depends on the StateService plugin module running with FullState enabled. The official JSON-RPC nodes for MainNet and TestNet (such as http://seed1.neo.org:10332 and http://seed1t5.neo.org:20332) are configured to run the StateService plugin with FullState enabled.

New Features or issues

Thank you for using Neo-Express and Neo-Trace! We welcome your feedback to make these tools more accessible, intuitive, and powerful.

Please visit the issues page to report problems or suggest new features. When creating a new issue, try to keep the title and description concise and provide context, such as a code snippet or an example of a feature and its expected behavior.

License

Neo-Express and Neo-Trace are licensed under the MIT License.