Giter VIP home page Giter VIP logo

neo-storm's Introduction

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

neo-storm's People

Contributors

jeroenptrs avatar ansrivas avatar

Stargazers

Rodolfo P A avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.