• This repository has been archived on 03/Aug/2022
  • Stars
    star
    11,274
  • Rank 2,956 (Top 0.06 %)
  • Language
    C++
  • License
    MIT License
  • Created over 7 years ago
  • Updated over 2 years ago

Reviews

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

Repository Details

An open source smart contract platform

EOSIO - The Most Powerful Infrastructure for Decentralized Applications

Build status

Welcome to the EOSIO source code repository! This software enables businesses to rapidly build and deploy high-performance and high-security blockchain-based applications.

Some of the groundbreaking features of EOSIO include:

  1. Free Rate Limited Transactions
  2. Low Latency Block confirmation (0.5 seconds)
  3. Low-overhead Byzantine Fault Tolerant Finality
  4. Designed for optional high-overhead, low-latency BFT finality
  5. Smart contract platform powered by WebAssembly
  6. Designed for Sparse Header Light Client Validation
  7. Scheduled Recurring Transactions
  8. Time Delay Security
  9. Hierarchical Role Based Permissions
  10. Support for Biometric Hardware Secured Keys (e.g. Apple Secure Enclave)
  11. Designed for Parallel Execution of Context Free Validation Logic
  12. Designed for Inter Blockchain Communication

Disclaimer

Block.one is neither launching nor operating any initial public blockchains based upon the EOSIO software. This release refers only to version 1.0 of our open source software. We caution those who wish to use blockchains built on EOSIO to carefully vet the companies and organizations launching blockchains based on EOSIO before disclosing any private keys to their derivative software.

Official Testnet

testnet.eos.io

Supported Operating Systems

EOSIO currently supports the following operating systems:

  1. Amazon Linux 2
  2. CentOS 7
  3. CentOS 7.x
  4. CentOS 8
  5. Ubuntu 16.04
  6. Ubuntu 18.04
  7. Ubuntu 20.04
  8. MacOS 10.14 (Mojave)
  9. MacOS 10.15 (Catalina)

Note: It may be possible to install EOSIO on other Unix-based operating systems. This is not officially supported, though.


Software Installation

If you are new to EOSIO, it is recommended that you install the EOSIO Prebuilt Binaries, then proceed to the Getting Started Guide. If you are an advanced developer, a block producer, or no binaries are available for your platform, you may need to Build EOSIO from source.


Note: If you used our scripts to build/install EOSIO, please run the Uninstall Script before using our prebuilt binary packages.


Prebuilt Binaries

Prebuilt EOSIO software packages are available for the operating systems below. Find and follow the instructions for your OS:

Mac OS X:

Mac OS X Brew Install

brew tap eosio/eosio
brew install eosio

Note: On MacOS 10.15 (Catalina), there is a chance to face the linking error below which prevents successful installation of EOSIO:

Reinstalling 1 broken dependent from source:
eosio/eosio/eosio

The following Homebrew commands will resolve this issue:

brew link eosio

Mac OS X Brew Uninstall

brew remove eosio

Ubuntu Linux:

Ubuntu 20.04 Package Install

wget https://github.com/eosio/eos/releases/download/v2.1.0/eosio_2.1.0-1-ubuntu-20.04_amd64.deb
sudo apt install ./eosio_2.1.0-1-ubuntu-20.04_amd64.deb

Ubuntu 18.04 Package Install

wget https://github.com/eosio/eos/releases/download/v2.1.0/eosio_2.1.0-1-ubuntu-18.04_amd64.deb
sudo apt install ./eosio_2.1.0-1-ubuntu-18.04_amd64.deb

Ubuntu 16.04 Package Install

wget https://github.com/eosio/eos/releases/download/v2.1.0/eosio_2.1.0-1-ubuntu-16.04_amd64.deb
sudo apt install ./eosio_2.1.0-1-ubuntu-16.04_amd64.deb

Ubuntu Package Uninstall

sudo apt remove eosio

RPM-based (CentOS, Amazon Linux, etc.):

RPM Package Install CentOS 7

wget https://github.com/eosio/eos/releases/download/v2.1.0/eosio-2.1.0-1.el7.x86_64.rpm
sudo yum install ./eosio-2.1.0-1.el7.x86_64.rpm

RPM Package Install CentOS 8

wget https://github.com/eosio/eos/releases/download/v2.1.0/eosio-2.1.0-1.el8.x86_64.rpm
sudo yum install ./eosio-2.1.0-1.el8.x86_64.rpm

RPM Package Uninstall

sudo yum remove eosio

Uninstall Script

To uninstall the EOSIO built/installed binaries and dependencies, run:

./scripts/eosio_uninstall.sh

Documentation

  1. Nodeos
  2. Cleos
  3. Keosd

Resources

  1. Website
  2. Blog
  3. Developer Portal
  4. StackExchange for Q&A
  5. Community Telegram Group
  6. Developer Telegram Group
  7. White Paper
  8. Roadmap

Getting Started

Instructions detailing the process of getting the software, building it, running a simple test network that produces blocks, account creation and uploading a sample contract to the blockchain can be found in the Getting Started Guide.

Contributing

Contributing Guide

Code of Conduct

License

EOSIO is released under the open source MIT license and is offered β€œAS IS” without warranty of any kind, express or implied. Any security provided by the EOSIO software depends in part on how it is used, configured, and deployed. EOSIO is built upon many third-party libraries such as WABT (Apache License) and WAVM (BSD 3-clause) which are also provided β€œAS IS” without warranty of any kind. Without limiting the generality of the foregoing, Block.one makes no representation or guarantee that EOSIO or any third-party libraries will perform as intended or will be free of errors, bugs or faulty code. Both may fail in large or small ways that could completely or partially limit functionality or compromise computer systems. If you use or implement EOSIO, you do so at your own risk. In no event will Block.one be liable to any party for any damages whatsoever, even if it had been advised of the possibility of damage.

Important

See LICENSE for copyright and license terms.

All repositories and other materials are provided subject to the terms of this IMPORTANT notice and you must familiarize yourself with its terms. The notice contains important information, limitations and restrictions relating to our software, publications, trademarks, third-party resources, and forward-looking statements. By accessing any of our repositories and other materials, you accept and agree to the terms of the notice.

More Repositories

1

Documentation

EOSIO Documents
2,084
star
2

eosjs

General purpose library for the EOSIO blockchain.
TypeScript
1,436
star
3

eosio.cdt

EOSIO.CDT (Contract Development Toolkit) is a suite of tools used to build EOSIO contracts
C++
511
star
4

eosio.contracts

Smart contracts that provide some of the basic functions of the EOSIO blockchain
C++
323
star
5

demux-js

πŸ’« Deterministic event-sourced state and side effect handling for blockchain applications
TypeScript
306
star
6

eosjs-ecc

Elliptic curve cryptography functions: Private Key, Public Key, Signature, AES, Encryption, Decryption
JavaScript
283
star
7

eos-token-distribution

Shell
196
star
8

eos-vm

A Low-Latency, High Performance and Extensible WebAssembly Backend Library
C++
193
star
9

eosjs-api

Application programming interface to EOS blockchain nodes.
JavaScript
178
star
10

eosio-card-game-repo

The Elemental Battles Tutorial is divided into easy to follow lessons that take you through the process of creating your own fully-functional blockchain-based dApp.
158
star
11

eosio-web-ide

eosio-web-ide
TypeScript
151
star
12

eosio-project-boilerplate-simple

This repository demonstrates the eosio platform running a blockchain as a local single node test net with a simple DApp, NoteChain.
Shell
141
star
13

universal-authenticator-library

A library for allowing apps to easily use different auth providers.
TypeScript
127
star
14

eosio-java

EOSIO SDK for Java - API for integrating with EOSIO-based blockchains
Java
125
star
15

eosio-explorer

An application providing Web GUI to communicate with EOSIO blockchain in a local development environment.
JavaScript
115
star
16

eosio-project-demux-example

Simple Blog DApp built with Demux and React for the EOSIO Blockchain
JavaScript
89
star
17

eosjs-keygen

Javascript keys generator for EOS
JavaScript
72
star
18

history-tools

EOSIO History Tools
C++
65
star
19

eosio-reference-ios-authenticator-app

iOS reference app demonstrating inter-application transaction signing for EOSIO blockchain apps
Swift
65
star
20

eosio-swift

EOSIO SDK for Swift - API for integrating with EOSIO-based blockchains
C
61
star
21

patroneos

RPC Checkpoint for EOS nodes
Go
47
star
22

ricardian-template-toolkit

Renderer for the Ricardian Contract specification
TypeScript
41
star
23

spec-repo

EOSIO Specifications Repository
40
star
24

demux-js-eos

Demux-js Action Reader implementations for EOSIO blockchains
TypeScript
38
star
25

fc

C++
38
star
26

eosio-webauthn-example-app

Example web app demonstrating EOSIO signing via WebAuthn
TypeScript
38
star
27

welcome

Documentation that covers EOSIO Overview, Getting Started and Protocol documents
C++
38
star
28

abieos

Binary <> JSON conversion using ABIs. Compatible with languages which can interface to C
C++
34
star
29

eosio-java-android-example-app

Application demonstrating integration with EOSIO-based blockchains using EOSIO SDK for Java
Java
32
star
30

eosio-swift-ios-example-app

Application demonstrating integration with EOSIO-based blockchains using EOSIO SDK for Swift
Swift
30
star
31

eosjs-json

Information about the EOS blockchain in the JSON file format.
JavaScript
28
star
32

eosio-reference-chrome-extension-authenticator-app

Chrome extension reference app demonstrating how users could sign transactions using various EOSIO Labs tools
TypeScript
25
star
33

ual-token-pocket

authenticator meant to be used with Token Pocket and the Universal Authenticator Library
TypeScript
24
star
34

ricardian-spec

Specification defining valid Ricardian contracts
23
star
35

ual-reactjs-renderer

This library provides a React renderer around the Universal Authenticator Library
JavaScript
23
star
36

tropical-example-web-app

An example for developers showing an application built on EOSIO combining UAL, Manifest Spec, and Ricardian Contracts
JavaScript
22
star
37

eosio.exchange

C++
21
star
38

eosjs-secp256k1

Compiles c++ secp256k1 pedersen commitments, borromean ring signatures, and ZK range proofs into JavaScript.
JavaScript
17
star
39

hackathon-howto-guide

Getting started guide for EOS Global Hackathon series
16
star
40

musl

Mirror of git://git.musl-libc.org/musl
C
14
star
41

eosio-toppings

A monorepo with tools working on top of nodeos
TSQL
14
star
42

ual-scatter

authenticator meant to be used with Scatter and Universal Authenticator Library
TypeScript
14
star
43

ual-authenticator-walkthrough

tutorial walking through the steps required to create a new authenticator for the Universal Authenticator Library
JavaScript
13
star
44

EEPs

EOSIO Enhancement Proposals
13
star
45

eosio-swift-vault

Utility library for managing keys and signing with Apple's Keychain and Secure Enclave
Swift
12
star
46

eosio.assert

A security feature to reduce the need for users to trust blockchain apps when a user signs a transaction for a trusted blockchain network with a trusted wallet application
C++
12
star
47

eosio-java-softkey-signature-provider

Example pluggable signature provider for EOSIO SDK for Java for signing transactions using in-memory keys
Java
12
star
48

eosio.forum

C++
12
star
49

eosio-swift-ecc

Swift utilities for working with keys, cryptographic signatures, encryption/decryption, etc.
Swift
11
star
50

key-value-example-app

An example app for using the key value database feature new to 2.1 of EOSIO.
TypeScript
11
star
51

eosio-java-android-abieos-serialization-provider

Pluggable serialization provider for EOSIO SDK for Java using ABIEOS
Java
11
star
52

eosio-authentication-transport-protocol-spec

EOSIO authentication transport protocol specification for consistent request-response lifecycle
10
star
53

ual-plainjs-renderer

library providers a Plain JS renderer around the Universal Authenticator Library
TypeScript
10
star
54

eosio-wasm-spec-tests

Repo for holding the generated wasm spec tests, as well as the generator
C++
10
star
55

demux-js-postgres

Demux-js Action Handler implementation for Postgres databases
TypeScript
10
star
56

eosjs-ledger-signature-provider

EOSJS Ledger Signature Provider Interface
TypeScript
10
star
57

demux-cli

CLI tool for starting, developing, and interacting with demux-js projects.
JavaScript
10
star
58

mojey

Swift
9
star
59

tutorials

Tutorials, examples and how-tos for EOS.IO
9
star
60

eosio.system

Reference system contract for an EOSIO based chain
C++
9
star
61

eosio-java-android-rpc-provider

Pluggable RPC provider for EOSIO SDK for Java
Java
9
star
62

manifest-spec

A specification detailing how EOSIO-enabled applications comply with the application manifest requirements of EOSIO-compatible user agents
9
star
63

eosio-android-keystore-signature-provider

Pluggable signature provider for EOSIO SDK for Java using Android's Keystore
Kotlin
9
star
64

vt-blockchain-bootcamp-starter

JavaScript
8
star
65

homebrew-eosio

homebrew tap for EOSIO
Shell
8
star
66

ual-eosio-reference-authenticator

Authenticator meant for use with EOSIO Reference Authenticator Apps and the Universal Authenticator Library
TypeScript
7
star
67

eosio.helm

Helm charts for EOSIO.
Shell
6
star
68

return-values-example-app

An example app for using the action return value feature new to 2.1 of EOSIO.
Shell
6
star
69

training-EED101

C++
6
star
70

eosio-swift-reference-ios-authenticator-signature-provider

A pluggable signature provider for EOSIO SDK for Swift for signing transactions with EOSIO Reference iOS Authenticator App
Swift
6
star
71

test-state-history

JavaScript
5
star
72

eosio-java-rpc-provider

Pluggable RPC provider for EOSIO SDK for Java
Java
5
star
73

eosio-java-abieos-serialization-provider

Java version of the ABIEOS Serialization Provider
Java
5
star
74

ual-ledger

authenticator meant to be used with Ledger and the Universal Authenticator Library
TypeScript
5
star
75

ual-lynx

authenticator meant to be used with Lynx and Universal Authenticator Library
TypeScript
5
star
76

taurus-node

EOSIO-Taurus - The Most Powerful Infrastructure for Decentralized Applications
C++
4
star
77

eosio-swift-abieos-serialization-provider

Pluggable serialization provider for EOSIO SDK for Swift using ABIEOS
C++
4
star
78

eosio.token

Reference contract for an EOSIO based token
C++
4
star
79

eosio-swift-vault-signature-provider

Pluggable signature provider for EOSIO SDK for Swift using Apple's Keychain or Secure Enclave
Swift
4
star
80

history-tools-docs

history-tools migrated docs for dev portal consumption
3
star
81

eosjs-ios-browser-signature-provider-interface

a Signature Provider Interface for communicating with an authenticator from iOS Safari using the EOSIO Authentication Transport Protocol Specification
TypeScript
3
star
82

chain-kv

key-value storage for blockchains
C++
3
star
83

eosio-swift-softkey-signature-provider

Example pluggable signature provider for EOSIO SDK for Swift for signing transactions using in-memory keys
Swift
3
star
84

eosjs-window-message-signature-provider-interface

A Signature Provider Interface for communicating with an authenticator over the Window Messaging API using the EOSIO Authentication Transport Protocol Spec.
TypeScript
3
star
85

eosjs-signature-provider-interface

An abstract class that implements the EOSJS SignatureProvider interface, and provides helper methods for interacting with an authenticator using the EOSIO Authentication Transport Protocol Specification.
TypeScript
3
star
86

homebrew-eosio.cdt

homebrew tap for eosio.cdt
Ruby
2
star
87

training-tictactoe

Bootstrap for certain training courses
C++
2
star
88

auto-request-generator

Python
2
star
89

eos-vm-test-wasms

Binary wasms for testing eos-vm.
1
star
90

taurus-zpp-bits

C++
1
star