/neo-storm

Smart contract framework for the NEO smart economy written in the Go programming language.

Primary LanguageGoMIT LicenseMIT

neo-storm

Smart contract framework for the NEO smart economy written in the Go programming language.

Overview

  • Golang to NVM bytecode compiler
  • NEO Virtual machine
  • Smart contract debugger
  • Private network for quickly deploying and testing smart contracts
  • Tooling for deploying smart contracts in production environments
  • Package manager for smart contract modules that are written in Go

Installation

The following section will help you with installing neo-storm and it's dependencies.

A very in-depth tutorial about how to get started with neo-storm can be found here

Project dependencies

Golang

neo-storm requires a working and proper Golang installation. To install Golang you can check out these installation instructions.

Godep

For package management neo-storm uses dep. To install dep you can check out these installations instructions.

Installing the neo-storm framework

Unix

neo-storm uses dep as its dependency manager. After installing dep you can run:

make install

After the installation is completed, you can find the binary in bin/neo-storm or globally use neo-storm.

Getting started

Lot's of examples contracts can be found in the examples folder.

Create a new smart contract

To create a new smart contract you can run the init command:

neo-storm init --name mycontract

This will generate a folder called mycontract with a main.go file in the root directory.

The folder structure will look like this:

- mycontract
    - main.go

And will produce the following main.go file in the root of the directory:

package mycontract

import "github.com/CityOfZion/neo-storm/interop/runtime"

func Main(op string, args []interface{}) {
    runtime.Notify("Hello world!")
}

Compiling smart contracts

To compile a smart contract you can run the compile command:

neo-storm compile -i path/to/file.go

This will output an .avm file in the same directory you executed this command in.

You can change location directory of the output file by adding the -o, --out flag.

neo-storm compile -i path/to/file.go -o path/to/file.avm

Tutorials

Contributing

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

Contact

Licence

  • Open-source MIT