• Stars
    star
    1,547
  • Rank 30,235 (Top 0.6 %)
  • Language
    Go
  • License
    Apache License 2.0
  • Created over 6 years ago
  • Updated about 1 month 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. An ultra-efficient EVM blockchain offering 1000 TPS with instant 1-block finality. Perfect for DeFi, DePIN tokenomics, Identities, and any trusted logic requiring Web3 composability

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
140
star
2

iotex-bootstrap

All necessary configuration files and step-by-step instructions for setting up and running a full-node on the IoTeX blockchain. Start contributing to the IoTeX network and explore advanced node features.
Shell
96
star
3

awesome-depin

A curated list of all DePIN research, projects and resources.
84
star
4

iotex-dapp-sample

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

halogrants

๐Ÿ‘Ÿ Apply for a IoTeX Halo Grant. Help build the IoTeX ecosystem!
73
star
6

iotex-did

IoTeX Decentralized Identifier Protocol
Go
63
star
7

iotex-token-metadata

A collection of all tokens' metadata on IoTeX blockchain
JavaScript
32
star
8

iotex-antenna

IoTeX Javascript SDK
JavaScript
31
star
9

w3bstream

An offchain computing layer for DePIN verifiable data computation, supporting a variety of validity proofs including Zero Knowledge (ZK), Trusted Execution Environments (TEE), and Multi-party Computation (MPC)
Go
24
star
10

iips

This repository contains IoTeX Improvement Proposals, detailing standards and protocols for the IoTeX blockchain. It is designed for the community to discuss, propose, and implement enhancements to the IoTeX ecosystem. Engage with the development process and contribute to the future of IoTeX by reviewing and submitting proposals.
22
star
11

iotex-analytics

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

zkp-wallet-ui

TypeScript
13
star
13

iotex-antenna-go

Golang SDK for IoTeX bloclchain
Go
12
star
14

iotex-studio

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

arduino-sdk

C++
11
star
16

iotex-pantheon

Pantheon - IoTeX Consortium Blockchain
Shell
10
star
17

iotex-proto

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

userop-swift

Swift
10
star
19

ecosystem

IoTeX ecosystem page submission
MDX
9
star
20

pebble-backend

Cloud backend of Pebble
Shell
9
star
21

IOTX-voting-contracts-ABI

ABIs for IOTX staking/voting contracts
8
star
22

pebble-simulator

Shell
8
star
23

zkp-wallet-contracts

TypeScript
8
star
24

IOTX-token-contracts

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

dev-portal-content

Content for iodev
MDX
7
star
26

iotex-react-components

TypeScript
7
star
27

userop-kt

Kotlin
7
star
28

iotex-antenna-java

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

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
30

zkp-wallet-circuits

TypeScript
7
star
31

iotex-docs-gitbook

[Discontinued] GitBook-Synced for docs.iotex.io (Up to IoTeX 1.5)
6
star
32

pebble-firmware

The Pebble Tracker Firmware
C
6
star
33

iott-dapp-example

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

machinefi-dapps

MDX
6
star
35

babel-api

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

mini-challenges

Small code challenges for IoDevs
5
star
37

iotex-hermes

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

ioConnect

An embedded SDK for abstracting firmware development for DePIN hardware, providing examples of device registration and DID-based encrypted communication using the ioID module.
C
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

iotex-election

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

ledger-app-iotex

Ledger wallet app for IoTeX blockchain
C
4
star
44

pebble-apps

C
4
star
45

iotex-governance

Governance Framework of IoTeX Blockchain Protocol
Solidity
3
star
46

iotex-antenna-swift

IoTeX Swift SDK
Swift
3
star
47

scaffold-iotex

Tutorials for machinefi dapps
TypeScript
3
star
48

account-abstraction-contracts

TypeScript
3
star
49

IOTX-charity-contracts

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

iotex-address-ts

TypeScript
3
star
51

files

3
star
52

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
53

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
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-tools

Misc tools for operation and maintaining.
Go
1
star
61

iotex-address

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

iotex-media-kits

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

go-pkgs

golang packages to use in multiple projects
Go
1
star
64

pharos

Gateway server bridging REST and gRPC
Go
1
star
65

iotexapi.com

1
star
66

iopay-extension-wallet

ioPay extension wallet
TypeScript
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

xrc20token-metadata

1
star
73

iotex-snap

A snap for IoTeX and DePIN users
TypeScript
1
star
74

uni-resolver-driver-did-io

Go
1
star
75

pebble-data-container

Solidity
1
star
76

ioID-contracts

Contracts for ioID, a unified identity system to manage identities for DePIN participants and devices, including on-chain and off-chain identity management and DID-based encrypted communication.
Solidity
1
star