Code Monkey home page Code Monkey logo

iotex-core's Introduction

iotex-core

Join the forum Go version CircleCI Go Report Card Coverage Godoc Releases LICENSE

IoTeX Logo

Welcome to the official Go implementation of IoTeX protocol! IoTeX is building the next generation of the decentralized blockchain protocol for powering real-world information marketplace in a decentralized-yet-scalable way. Refer to IoTeX whitepaper for details.

Get started

Minimum requirements

Components Version Description
Golang ≥ 1.14.4 Go programming language
Protoc ≥ 3.6.0 Protocol buffers, required only when you rebuild protobuf messages

Get iotex-core

The easiest way to get iotex-core is to use one of release packages which are available for OSX, Linux on the release page. Iotex-core is also distributed via docker image on docker hub.

Build iotex-core from code

Download the code to your desired local location (doesn't have to be under $GOPATH/src)

git clone [email protected]:iotexproject/iotex-core.git
cd iotex-core

If you put the project code under your $GOPATH\src, you will need to set up an environment variable

export GO111MODULE=on
set GO111MODULE=on (for windows)

Build the project for general purpose (server, ioctl) by

make

Build the project for broader purpose (server, ioctl, injector...) by

make all 

If the dependency needs to be updated, run

go get -u
go mod tidy

If you want learn more advanced usage about go mod, you can find out here.

Run unit tests only by

make test

Build the docker image by

make docker

Run iotex-core

Start (or resume) a standalone server to operate on an blockchain by

make run

Restart the server from a clean state by

make reboot

If "make run" fails due to corrupted or missing state database while block database is in normal condition, e.g., failing to get factory's height from underlying DB, please try to recover state database by

make recover

Then, "make run" again.

Use CLI

Users could interact with iotex blockchain by

ioctl [command]

Refer to CLI document for more details.

Contact

Contribution

We are glad to have contributors out of the core team; contributions, including (but not limited to) style/bug fixes, implementation of features, proposals of schemes/algorithms, and thorough documentation, are welcomed. Please refer to our contribution guideline for more information. Development guide documentation is here.

For any major protocol level changes, we use IIP to track the proposal, decision and etc.

License

This project is licensed under the Apache License 2.0.

iotex-core's People

Contributors

dustinxie avatar lizhefeng avatar coderzhi avatar zjshen14 avatar frankonly avatar koseoyoung avatar coderbradlee avatar zhen-iotex avatar raullenchai avatar vedaad-shakib avatar runeakko avatar vincentiotex avatar xiaxiangzhou avatar millken avatar zcchai-iotex avatar fishmeat avatar liuhaai avatar soythecat avatar chenyanchen avatar madongming avatar jiuqiwang avatar puncsky avatar guo avatar willstudy avatar xiangzhouxia avatar iotex-dev avatar evenboom avatar applemin avatar ashishsnigam avatar xuecanlong 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.