Go Node and SDK for the NEO blockchain
Find a file
Roman Khimov a9abd3d841 core: fix wrong endian used in interop functions
C# uses ToArray() or UintXXX(bytes) here which interprets hashes as they
should be interpreted (BE, although they always convert to LE when converting
to String just for the fun of it). It leads to state difference for us at
block 2025204 where even though we have the same value for the key, the key
itself differs, ours:

dd2b538e2a0c1db1ae5061c15be14f916bd1e678e512ffcda6d9499d8e7fe97ee71fd6b8004583d9afe09cc4dadbd5deb63d01e061009b7cffdaa674beae0f930ebe6085af900093e5fe56b34a5c220ccdcf6efc336fc5000000000000000000000000000000000010

theirs:

dd2b538e2a0c1db1ae5061c15be14f916bd1e67861e0013db6ded5dbdac49ce0afd9834500b8d61fe77ee97f8e9d49d9a6cdff12e5009b7cffdaa674beae0f930ebe6085af900093e5fe56b34a5c220ccdcf6efc336fc5000000000000000000000000000000000010

In this key there is a tx hash encoded
(e512ffcda6d9499d8e7fe97ee71fd6b84583d9afe09cc4dadbd5deb63d01e061 in LE used
by all the tools like neoscan).

I love Neo.
2020-03-05 19:44:09 +03:00
.circleci *: move all packages from CityOfZion to nspcc-dev 2020-03-03 17:21:42 +03:00
.docker Add possibility to import different dump of chains 2020-01-28 13:29:13 +03:00
.github add new neo logo with gopher 2019-10-22 19:48:22 +03:00
cli cli: implement wallet multisig sign command 2020-03-05 09:45:34 +03:00
config *: move all packages from CityOfZion to nspcc-dev 2020-03-03 17:21:42 +03:00
docs Merge pull request #723 from nspcc-dev/feature/nep5 2020-03-05 18:33:58 +03:00
examples *: move all packages from CityOfZion to nspcc-dev 2020-03-03 17:21:42 +03:00
integration *: move all packages from CityOfZion to nspcc-dev 2020-03-03 17:21:42 +03:00
pkg core: fix wrong endian used in interop functions 2020-03-05 19:44:09 +03:00
scripts cli: add script for comparing storage dumps 2020-02-12 12:16:31 +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 2020-02-19 17:26:10 +03:00
CONTRIBUTING.md *: move all packages from CityOfZion to nspcc-dev 2020-03-03 17:21:42 +03:00
Dockerfile Add single node chain dump to image 2020-01-28 13:04:13 +03:00
go.mod go.mod: fix dbft version, previous commit was wiped during "merge" 2020-03-04 19:32:15 +03:00
go.sum go.mod: fix dbft version, previous commit was wiped during "merge" 2020-03-04 19:32:15 +03:00
LICENSE.md LICENSE.md: rename from LICENCE.md 2019-08-20 18:47:08 +03:00
Makefile Update command to build and publish images 2020-01-28 13:03:18 +03:00
neo-go.service.template service file templating 2019-11-13 15:05:13 +03:00
README.md README: update contacts 2020-02-11 19:06:19 +03:00
ROADMAP.md update CHANGELOG and ROADMAP, release 0.72.0 2020-02-06 21:35:43 +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

#Developer notes Nodes have such features as Prometheus and Pprof in order to have additional information about them for debugging.

How to configure Prometheus or Pprof: In config/protocol.*.yml there is

  Prometheus:
    Enabled: true
    Port: 2112

where you can switch on/off and define port. Prometheus is enabled and Pprof is disabled by default.

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