Go Node and Sdk for The Neo Blockchain

Go Node and Sdk for The Neo Blockchain

neo-go Go Node and SDK for the NEO blockchain.

Go Node and SDK for the NEO blockchain.

Overview

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

This branch (master) is under active development now (read: won't work out of the box) and aims to be compatible with Neo 3. For the current stable version compatible with Neo 2 please refer to the master-2.x branch and releases before 0.80.0 (0.7X.Y track). Releases starting from 0.90.0 contain Neo 3 code (0.90.0 being compatible with Neo 3 preview2).

Getting started

Installation

Go: 1.13+

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

Running

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
Importing mainnet/testnet dump files

If you want to jump-start your mainnet or testnet node with chain archives provided by NGD follow these instructions (when they'd be available for 3.0 networks):

$ wget .../chain.acc.zip # chain dump file
$ unzip chain.acc.zip
$ ./bin/neo-go db restore -m -i chain.acc # for testnet use '-t' flag instead of '-m'

The process differs from the C# node in that block importing is a separate mode, after it ends the node can be started normally.

Smart contract development

Please refer to neo-go smart contract development workshop that shows some simple contracts that can be compiled/deployed/run using neo-go compiler, SDK and private network. For details on how Go code is translated to Neo VM bytecode and what you can and can not do in smart contract please refer to the compiler documentation.

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

Download Details:

Author: nspcc-dev

Source Code: https://github.com/nspcc-dev/neo-go

nodejs node javascript blockchain

Bootstrap 5 Complete Course with Examples

Bootstrap 5 Tutorial - Bootstrap 5 Crash Course for Beginners

Nest.JS Tutorial for Beginners

Hello Vue 3: A First Look at Vue 3 and the Composition API

Building a simple Applications with Vue 3

Deno Crash Course: Explore Deno and Create a full REST API with Deno

How to Build a Real-time Chat App with Deno and WebSockets

Convert HTML to Markdown Online

HTML entity encoder decoder Online

Create a global finance blockchain application with Node.js

Create a global finance blockchain application with Node.js smart contracts (replay).Watch Rahell Zubairy develop a Node.js smart contract and web app for a Global Finance with blockchain use case.

Node canvas is a Cairo backed Canvas implementation for NodeJS.

node-canvas is a Cairo-backed Canvas implementation for Node.js.

5 Blockchain Applications That Have Transformed the World of Technology

The blockchain is the decentralized database of the blocks of information, which gets recorded in the chain format and linked in a secured crypto graphical manner. This technology ensures proper safety of the data due to its secure nature, and it totally changes how people carry out transactions. It also brings about a faster and secure process of validating information needed to establish reliability.

Blockchain Certification | Blockchain Training Course | Blockchain Council

Training courses for blockchains have become very popular. The software is evolving to become part of the mainstream scheme. The growing need for a safe and secure system is one of the main reasons for this. It also contributed to one of the...

What Is Nodejs Used For? | Nodejs Use Cases

A decade has passed since initial release of the node.js, it has gained immense popularity. Read in this article, what is nodejs used for? Nodejs Use Cases.