CityOfZion
neo-storm
Go

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

Last updated Jul 9, 2024
38
Stars
10
Forks
15
Issues
0
Stars/day
Attention Score
22
Language breakdown
Go 98.6%
Makefile 1.4%
Files click to expand
README

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

© 2026 GitRepoTrend · CityOfZion/neo-storm · Updated daily from GitHub