Skip to content
🕶 List of awesome platforms for smart contracts
Branch: master
Clone or download
Latest commit d0c2a8e Nov 24, 2018
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
CONTRIBUTING.md Create CONTRIBUTING.md Sep 30, 2017
README.md

README.md

Awesome Smart Contracts Awesome

Curated list of platforms to run Smart Contracts.

What is Smart Contract?

"New institutions, and new ways to formalize the relationships that make up these institutions, are now 
made possible by the digital revolution. I call these new contracts "smart", because they are far more 
functional than their inanimate paper-based ancestors. No use of artificial intelligence is implied. 
A smart contract is a set of promises, specified in digital form, including protocols within which the 
parties perform on these promises."

-Nick Szabo, 1996
Smart contracts are contracts whose terms are encoded in  computer language instead of legal language. 
Smart contracts can be executed by a computing network such as RSK, so that the terms of the contracts 
are automatically enforced by a protocol that all nodes in the network follow.

A smart contract can be fully autonomous if all the objects referred (such as currency, payments, 
obligations, property titles, assets, licenses) have a digital representation in the platform. 

Source: https://faq.rsk.co/en/main/

License

CC0

To the extent possible under law, Igor Korsakov has waived all copyright and related or neighboring rights to this work.

Contribute!

Share your knowledge. Contributing guide

Referenced by

Platforms list

Platform name Engine Contract language Live? Origin Inc. in Est. Pub. rel.
Aeternity HLM, FTWVM, AEVM Sophia, Varna, Solidity no FL Liechtenstein 2017
Bitcoin Bitcoin script Ivy-lang, Balzac Yes USA USA 2017.12 2017.12
BitShares ? ? Yes
Byteball Byteball JSON Yes RU 2016.12 2016.12
Cardano IELE Plutus (Haskell inspired) no HK Switzerland 2015
Counterparty ? ? Yes
Corda ?
DFINITY EVM? Ethereum compatible (aka Solidity, Serpent, etc.) No
EOS EVM / eWASM C/C++ (compiles to WASM) Yes 2018.06
Ethereum EVM Solidity Yes CA Switzerland 2014.04 2015.07
Ethereum Classic EVM Solidity Yes ^^^ no ^^^ ^^^
Exonum ? Rust. Java bindings TBD No UA Netherlands 2017.07
hyperledger Sandbox ? ?
Lisk N/A Javascript
Nem Offchiain ? ?
Neo NeoVM 1st batch: dotNet; 2nd: Java,Kotlin; 3rd: C,C++,GO,Py,JS (TBD) Yes China China 2014.06 2016.10
Neblio ? REST-API, Python,JS, .NET(C# & VB.NET), Objective-C, Java, Node.js, GO, PHP Yes USA USA 2017.01 2017.07
NXT ? ? Yes
OmniLayer ?
Qtum EVM Solidity Yes Singapore Singapore 2016 2017.09
quorum ? ? ?
Radix ? Scrypto (Based on JavaScript/TypeScript) Yes UK UK 2018
Rootstock EVM Solidity no Argentina Argentina 2015.11
Snax EVM / eWASM C/C++ (compiles to WASM) no 2018.12
Tezos ? Michelson no
Ubiq EVM Solidity Yes CA CA ? 2017.01
Universa ?
Urbit ? Hoon Yes
Waves ? NA Yes RU ? 2016 2016.11

Ethereum

Ethereum is a gold standard in smart contracts and has biggest capitalization among other platforms. Majority of token sales go on Ethereum platform, with recently standartized token format ERC-20.

Founded by son of russian expats in Canada Vitalik Buterin. Incorporated in Switzerland.

Docs:

Contract examples:

Ethereum Classic

Classic appeared as a fork of main Ethereum chain (right after famous DAO hack) by a community that disagreed to alter the blockchain to get back stolen funds. ETC is still in search of its place in smart contracts world. Some engineering changes are still going under the hood (like, changing the emission and difficulty retarget algo), and developer tools are being developed. No major token crowdsales were made yet, but the community is looking forward to it.

Not incorporated.

Neo

NEO (formerly Antshares) is a Chinese answer to Ethereum. Neo is a major player in SmartContracts world and often compared to Ethereum.

First batch of supported languages is ready for production use. Second is partially ready, and third is planned.

Docs:

Contract examples:

Ubiq

Ubiq functions as a fork of Ethereum codebase, with several adjustmens, fully compatible with EVM and Solidity.

Governed by Ubiq Technology Inc.

Urbit

Contract examples:

Rootstock

Rootstock is a Bitcoin sidechain, adding Turing-complete language (enabling smart contracts) and ability to scale up to 20k transactions per second (eventually). Sidechain shall be secured by a merge-mining with regular Bitcoin pools.

Rootstock is very well received by community, and among all 2nd layer solutions for Bitcoin is considered to be one of the closest to completion.

Language used shall be Solidity, and RSK VM is fully compatible with Ethereum VM.

Docs:

Cardano

Cardano claims it is the first Blockchain to use a provably secure, proof of stake algorithm. Cardano is designed in separate layers, where the 1st layer (aka Settlement Layer; PoS blockchain) is already live (as of 2017.10), and internal currency (Ada) being added to exchanges.

Second (aka computational) layer will run smart contracts using a Haskell-inspired scripting language, called Plutus, and is scheduled to release in first quarter 2018.

Governed by The Cardano Foundation, IOHK and Emurgo.

Docs:

Contract examples:

Exonum

Exonum is an extensible open-source framework for creating blockchain applications. It is designed to allow you, your company or your government to build a tailor-cut private or permissioned blockchain.
Thus, there's no public Exonum network or traded Exonum tokens.

Exonum is developed and supported by the Bitfury Group.

Services are the main extension point for the Exonum framework. By itself, Exonum provides building 
blocks for creating blockchains; it does not come with any concrete transaction processing rules. 
This is where services come into play. If you want to create an instance of the Exonum blockchain, 
services are the way to go.
Endpoints defined by services fulfill the same role as smart contracts in other blockchain platforms. 
They define business logic of the blockchain, allow to retrieve data from the blockchain, and can be 
reused across different projects. Partial analogies for this execution model are endpoints of RESTful 
web services and stored procedures for DBMSs.

Docs:

Contract examples:

BitShares

BitShares 2.0 is the first application of Graphene technology.

Qtum

Qtum is a hybrid blockchain application platform. Qtum’s core technology combines a fork of bitcoin core, an Account Abstraction Layer allowing for multiple Virtual Machines including the Ethereum Virtual Machine (EVM) and Proof-of-Stake consensus.

Qtum smart contracts aim to be compatible with existing Ethereum contracts.

Main selling points of Qtum is: lite mobile wallets that can execute smart contracts; compatibility with existing bitcoin infrastructure/tools (since Qtum forked off bitcoin, and aims to adopt most of bitcoin BIPs).

Qtum started in 2016, in 2017.03 Qtum had a crowdsale distributng their tokens. Main net launched on 2017.10.

Waves

Waves is a PoS blockchain specifically designed to issue tokens (and run ICOs). Some of the largest ICOs were run on Waves Platform. Users can also lease funds to miners o generate interest. There's also a decentralized exchange (DEX) with front-run protection, and gateways to common fiat currencies.

Non-Turing-complete smart contracts support was launched on TestNet on May 3, 2018.

Docs:

Bitcoin

Ivy

Ivy: a smart contract language that compiles to Bitcoin Script

Docs:

Online tool:

Balzac

Balzac: an high-level language for writing transactions, verifying their correctness, and compiling them into actual Bitcoin transactions.

Docs:

Online tool:

Neblio

The Neblio network has an assortment of services that deploy blockchain technology. Simply put, it is an API suite, hosting platform, consultancy service provider, Node deployment base as well as a private blockchain DApps.

Neblio uses RESTful APIs to give maximum compatibility to almost any language.

Docs:

You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.