Skip to content

simplitech/neo-express

 
 

Repository files navigation

Neo-Express and Neo-Trace

Nuget Build Status

Note: This repo uses a branch structure similar to other repos in the Neo project. The master branch contains Neo N3 version of Neo-Express and Neo-Trace.

Installation

Developers can choose installing Neo-Express from release packages or using .NET tool.

Installing release package

Download the latest release package from neo-express releases for your operation system, and unzip it in your local computer.

Configure the path of neoxp.exe to the environment variable in your computer.

Installing using .NET Tool

Neo-Express and Neo-Trace are distributed as .NET Tools. .NET tools are NuGet packages containing console applications that can be installed on a developer's machine via the dotnet tool command.

Requirements

As of Neo v3.6, Neo-Express and Neo-Trace require version 7.0 of the .NET developer platform to be installed.

Note: Neo-Express has additional, platform-specific requirements beyond .NET 7. These requirements are detailed below. Neo-Trace has no additional dependencies beyond .NET 7.

Note: the Neo v3.0 version of Neo-Express and Neo-Trace used .NET 5. .NET 5 is no longer supported by Microsoft. We strongly recommend using .NET 7 and the latest version of Neo-Express and Neo-Trace.

Installation

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

> dotnet tool install Neo.Express -g

To update Neo-Express to the latest version, run the dotnet tool update command in a terminal window.

> dotnet tool update Neo.Express -g

Note: The process for installing and updating Neo-Trace is identical to Neo-Express except the Neo-Trace NuGet package is Neo.Trace.

.NET tools also supports "local tool" installation. This allows for different versions of a .NET tool to be installed in different directories. Full details on installing and updating .NET tools are available in the official documentation.

Installing Preview Releases

The Neo Blockchain Toolkit has a public build server and package feed. The public package feed contains unreleased builds of Neo-Express and Neo-Trace.

You can install preview builds of Neo-Express or Neo-Trace by using the --add-source option to specify the Neo Blockchain Toolkit package feed. For example, to update to the latest release branch version of Neo-Express, you would run this command:

> dotnet tool update Neo.Express -g --add-source https://www.myget.org/F/neo/api/v3/index.json

You can also install master branch releases of these tools by using the --version and/or --prerelease command line options. For more details, please see the official dotnet tool documentation.

If you regularly use unreleased versions of these tools in a given project, you can specify the Neo Blockchain Toolkit package feed in a NuGet.config file. Several Neo sample projects like NeoContributorToken use a NuGet.config file.

Neo-Express

Neo-Express is a privatenet optimized for development scenarios. It is built on the same Neo platform core as neo-cli and neo-gui to maximize compatibility between local development and public chain environments.

Neo-Express provides the following features:

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

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.

Neo-Trace

Neo-Trace is a tool to generate Neo Smart Contract Debugger trace files for existing blocks or transactions. You can specify a block by index or hash or a transaction by hash.

> neotrace block 365110 --rpc-uri testnet
> neotrace block 0xd2421d88919dccc1ac73647bf06089bae78ce02060302eff861a04e381bc91ad --rpc-uri testnet
> neotrace tx 0xef1917b8601828e1d2f3ed0954907ea611cb734771609ce0ce2b654bb5c78005--rpc-uri testnet

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.

Documentation

Docs are somewhat limited at this point. Please review the Command Reference to get an understanding of Neo-Express capabilities.

New Features or issues

Thanks for checking out Neo-Express and Neo-Trace! We are eager to hear your opinion to make these tools more accessible, intuitive, easier to use or just flat-out better.

GitHub issues are how we track improvements we make. If you found a problem when using these tools, or there is anything you'd like to see changed in the product, check the issues page to see if the bug or change was already reported, if not just file an issue.

When creating a new issue, try to keep the title and description concise, and give some context of the issue, like a snippet of the code where the problem is happening or a example of a feature, and its expected behavior.

About

Neo Private Net optimized for development scenarios

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C# 79.9%
  • TypeScript 20.0%
  • Other 0.1%