Smart contract framework for the NEO smart economy written in the Go programming language.
- 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
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
neo-storm requires a working and proper Golang installation. To install Golang you can check out these installation instructions.
For package management neo-storm uses dep. To install dep you can check out these installations instructions.
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
.
Lot's of examples contracts can be found in the examples folder.
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!")
}
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
Feel free to contribute to this project after reading the contributing guidelines.
- @anthdm on Github
- @anthdm on Twitter
- @jeroenptrs on Github
- @_jptrs on Twitter
- Reach out to us on the NEO Discord channel
- Send us an email: anthony@cityofzion.io
- Open-source MIT