• Stars
    star
    1,529
  • Rank 29,459 (Top 0.6 %)
  • Language
    Go
  • License
    Apache License 2.0
  • Created about 6 years ago
  • Updated 10 days ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Official implementation of IoTeX blockchain protocol in Go.

iotex-core

Official Golang implementation of the IoTeX protocol.

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

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.

New to IoTeX?

Please visit https://iotex.io official website or IoTeX onboard pack to learn more about IoTeX network.

Run a delegate?

Please visit IoTeX Delegate Manual for detailed setup process.

Building the source code

Minimum requirements

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

Compile

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 to 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 a 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.

Contributors

Thank you for considering contributing to the IoTeX framework!

License

This project is licensed under the Apache License 2.0.

More Repositories

1

iotex-desktop-wallet

IoTeX Desktop Wallet
TypeScript
141
star
2

iotex-bootstrap

Config and instructions for running IoTeX node
Shell
94
star
3

iotex-dapp-sample

This is a boilerplate template for making your awesome dApp on IoTeX and ETH, BSC, and other EVM compatible chains
TypeScript
82
star
4

halogrants

👟 Apply for a IoTeX Halo Grant. Help build the IoTeX ecosystem!
72
star
5

awesome-depin

A curated list of all DePIN research, projects and resources.
67
star
6

iotex-did

IoTeX Decentralized Identifier Protocol
Go
62
star
7

iotex-antenna

IoTeX Javascript SDK
JavaScript
31
star
8

iotex-token-metadata

A collection of all tokens' metadata on IoTeX blockchain
JavaScript
31
star
9

iips

IoTeX Improvement Proposals
22
star
10

iotex-analytics

The independent service that analyzes data from IoTeX blockchain
Go
14
star
11

zkp-wallet-ui

TypeScript
13
star
12

iotex-studio

IDE for developing, deploying and debugging of native IoTeX smart contract
Vue
11
star
13

iotex-antenna-go

Golang SDK for IoTeX bloclchain
Go
11
star
14

iotex-pantheon

Pantheon - IoTeX Consortium Blockchain
Shell
10
star
15

iotex-proto

Protobuf definition for IoTeX transactions, blocks, chain and APIs!
Go
10
star
16

arduino-sdk

C++
10
star
17

ecosystem

IoTeX ecosystem page submission
MDX
9
star
18

pebble-backend

Cloud backend of Pebble
Shell
9
star
19

IOTX-voting-contracts-ABI

ABIs for IOTX staking/voting contracts
8
star
20

zkp-wallet-contracts

TypeScript
8
star
21

pebble-firmware-legacy

This is for POC of pebble tracker
C
8
star
22

IOTX-token-contracts

The IOTX token contract is an ERC20-compatible token
HTML
7
star
23

pebble-simulator

Shell
7
star
24

iotex-react-components

TypeScript
7
star
25

iotex-antenna-java

IoTeX SDK in Java. (formerly: IoTeX Android SDK)
Java
7
star
26

iotex-dapp-sample-old

This repo provides a boilerplate IoTeX Dapp, with examples to use the antenna SDK, connect to the ioPay wallet, show balance, send IOTX and send XRC20 tokens
TypeScript
7
star
27

zkp-wallet-circuits

TypeScript
7
star
28

iotex-docs-gitbook

GitBook-Synced repository for docs.iotex.io
6
star
29

dev-portal-content

Content for iodev
MDX
6
star
30

iotex-antenna-embedded

SDK of IoTeX blockchain for embedded devices
C
6
star
31

iott-dapp-example

This is an example to build dApps using IoTeX 2.0 framework.
JavaScript
6
star
32

codelabs

Code labs for developers, contributors, and technologists.
JavaScript
6
star
33

userop-swift

Swift
6
star
34

machinefi-dapps

MDX
6
star
35

pebble-firmware

The Pebble Tracker Firmware
C
5
star
36

babel-api

API Gateway that translates IoTeX's antenna APIs into web3.js APIs.
TypeScript
5
star
37

mini-challenges

Small code challenges for IoDevs
5
star
38

iotex-hermes

The automatic reward distribution service for IoTeX delegates
Go
5
star
39

iotex-core-rosetta-gateway

Rosetta gateway server for IoTeX node
Go
5
star
40

pebble-data-spec

Specifications of Pebble
5
star
41

iopay-desktop

V2 - in dev mode. For V1 (current version), please refer to https://github.com/iotexproject/iotex-explorer/tree/master/src/electron
CSS
4
star
42

ledger-app-iotex

Ledger wallet app for IoTeX blockchain
C
4
star
43

userop-kt

Kotlin
4
star
44

iotex-election

The Ethereum-to-IoTeX Bridge that syncs smart contract states to IoTeX blockchain
Go
4
star
45

pebble-apps

C
4
star
46

iotex-governance

Governance Framework of IoTeX Blockchain Protocol
Solidity
3
star
47

iotex-antenna-swift

IoTeX Swift SDK
Swift
3
star
48

scaffold-iotex

Tutorials for machinefi dapps
TypeScript
3
star
49

account-abstraction-contracts

TypeScript
3
star
50

ucam-pe-lib

This is UCam Privacy Enhancement (PE) library that implements security and privacy related features for Ucam (https://ucam.iotex.io)
C
3
star
51

IOTX-charity-contracts

Smart Contracts used for IoTeX's charity program
JavaScript
3
star
52

iotex-address-ts

TypeScript
3
star
53

iotex-reactor

🤖 Reactor consists of several IoT-oriented libs/tools that enable powerful capabilities for embedded devices, including decentralized identity (DID), end-to-end encryption, device authentication, over-the-air (OTA) updates, and more.
C
3
star
54

ucam-firmware

ucam firmware
2
star
55

pebble-prophecy

JavaScript
2
star
56

web-iotube

The front-end of ioTube V4
TypeScript
2
star
57

iip13-contracts

Solidity code related to staking in contract
TypeScript
2
star
58

pylon

Pylon is a full-stack starter for building IoTeX Dapps
TypeScript
2
star
59

generate-pebble-data

This is a Pebble Tracker verifiable data generator: it generates a set of data for an hypotatycal Pebble Device, accounrding to the user rules, then it signs the data as a area device would do and transmits the data to the IoTeX network for use in Dapps.
TypeScript
2
star
60

iotex-media-kits

Get the official IoTeX media kit and branding assets here.
1
star
61

go-pkgs

golang packages to use in multiple projects
Go
1
star
62

pharos

Gateway server bridging REST and gRPC
Go
1
star
63

iotexapi.com

1
star
64

iopay-extension-wallet

ioPay extension wallet
TypeScript
1
star
65

uni-resolver-driver-did-io

Go
1
star
66

iotex-address

The address library extracted from iotex-core.
Go
1
star
67

w3bstream_compilego_demo

Go
1
star
68

badge-nfts

TypeScript
1
star
69

homebrew-ioctl

Ruby
1
star
70

machinefi-getstarted-preview

TypeScript
1
star
71

iotex-dapp-vercel-template

TypeScript
1
star
72

iotex-erc20

TypeScript
1
star
73

iotex-tools

Misc tools for operation and maintaining.
Go
1
star
74

pebble-data-container

Solidity
1
star
75

files

1
star