Go Node and SDK for the NEO blockchain
Find a file
Roman Khimov 2627628387 vm: optimize SWAP instruction, refactor common code
Add `Swap` method to the Stack and use it for both SWAP and XSWAP. Avoid
element popping and pushing (and associated accounting costs).

1.4M->1.5M 100K block import test before:
real    3m51,885s
user    5m54,744s
sys     0m38,444s

After:
real    3m44,292s
user    5m43,494s
sys     0m34,741s
2019-12-16 19:02:40 +03:00
.circleci circleci: get submodules on checkout, fix failing tests 2019-12-04 20:36:51 +03:00
.docker docker: add an entrypoint wrapper and 6K block dump to import 2019-11-29 16:26:34 +03:00
.github add new neo logo with gopher 2019-10-22 19:48:22 +03:00
cli io: add type-specific read/write methods 2019-12-12 20:19:50 +03:00
config config/docker: fix privnet setup to match neo-local 2019-11-29 13:06:14 +03:00
docs docs: update ri with milestone closing 2019-12-16 15:01:46 +03:00
examples examples: remove underscores from package names 2019-09-03 18:00:10 +03:00
integration performance: removed require call from benchmark test 2019-12-13 16:13:01 +03:00
pkg vm: optimize SWAP instruction, refactor common code 2019-12-16 19:02:40 +03:00
.dockerignore Fix build node and docker-image 2019-08-26 19:32:09 +03:00
.gitignore compiler: move it up from vm 2019-12-03 18:23:46 +03:00
.gitmodules vm: implement json tests from neoVM 2019-11-06 16:22:56 +03:00
.travis.yml update minimum supported version of Go to 1.12 2019-09-10 20:30:54 +03:00
CHANGELOG.md update CHANGELOG and ROADMAP, release 0.70.1 2019-12-16 12:33:15 +03:00
CONTRIBUTING.md CONTRIBUTING: adapt to new reality a bit 2019-08-20 19:07:58 +03:00
Dockerfile docker: add an entrypoint wrapper and 6K block dump to import 2019-11-29 16:26:34 +03:00
go.mod consensus: update dbft version 2019-12-13 11:28:57 +03:00
go.sum consensus: update dbft version 2019-12-13 11:28:57 +03:00
LICENSE.md LICENSE.md: rename from LICENCE.md 2019-08-20 18:47:08 +03:00
Makefile Makefile: add env_clean to drop storage volume 2019-11-29 12:48:00 +03:00
neo-go.service.template service file templating 2019-11-13 15:05:13 +03:00
README.md docs: add consensus.md 2019-11-28 16:02:09 +03:00
ROADMAP.md update CHANGELOG and ROADMAP, release 0.70.1 2019-12-16 12:33:15 +03:00

logo

Go Node and SDK for the NEO blockchain.


codecov CircleCI Report GoDoc GitHub release (latest SemVer) License

Overview

This project aims to be a full port of the original C# NEO project. A complete toolkit for the NEO blockchain, including:

Getting started

Installation

Go: 1.12+

Install dependencies.

neo-go uses GoModules as dependency manager:

make deps

How to setup a node

Docker

Each tagged build is built to docker hub and the :latest tag pointing at the latest tagged build.

By default the CMD is set to run a node on testnet, so to do this simply run:

 docker run -d --name neo-go -p 20332:20332 -p 20333:20333 cityofzion/neo-go

Which will start a node on testnet and expose the nodes port 20333 and 20332 for the JSON-RPC server.

Building

Build the neo-go CLI:

make build

Quick start a NEO node on the private network. This requires the neo-privatenet Docker image running on your machine.

make run

To run the binary directly:

./bin/neo-go node

By default the node will run on the private network, to change his:

./bin/neo-go node --mainnet

Available network flags:

  • --mainnet, -m
  • --privnet, -p
  • --testnet, -t

Contributing

Feel free to contribute to this project after reading the contributing guidelines.

Before starting to work on a certain topic, create an new issue first, describing the feature/topic you are going to implement.

Contact

License

  • Open-source MIT