Go Node and SDK for the NEO blockchain
Find a file
Roman Khimov d0f9a28196 vm/core: improve block import speed with PublicKey caching
This change (closely related to the neo-project/neo#1321 proposal) speeds up
1.4M mainnet blocks import by 30%. Basically, we're eliminating key decoding
for block's multisignature that has the same keys most of the time.

Things I don't like about this patch:
 * yet another parameter for verifyHashAgainstScript()
 * vm keys are not copied in/out

But it's rather simple and solves the problem for this particular case, so I
think it's worth it.
2019-12-10 19:13:29 +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
_pkg.dev vm: implement json tests from neoVM 2019-11-06 16:22:56 +03:00
cli util: add LE suffix to Uint256 methods 2019-12-06 12:16:55 +03:00
config config/docker: fix privnet setup to match neo-local 2019-11-29 13:06:14 +03:00
docs compiler: move it up from vm 2019-12-03 18:23:46 +03:00
examples examples: remove underscores from package names 2019-09-03 18:00:10 +03:00
pkg vm/core: improve block import speed with PublicKey caching 2019-12-10 19:13:29 +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 CHANGELOG: fix typo 2019-11-29 20:52:59 +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 go.mod: update dbft and tidy 2019-12-09 15:03:38 +03:00
go.sum go.mod: update dbft and tidy 2019-12-09 15:03:38 +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.0! 2019-11-29 20:40:01 +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