Awesome Blockchain
Curated list of resources for the development and applications of block chain.
The blockchain is an incorruptible digital ledger of economic transactions that can be programmed to record not just financial transactions but virtually everything of value (by Don Tapscott).
This is not a simple collection of Internet resources, but verified and organized data ensuring it's really suitable for your learning process and useful for your development and application.
Contents
Click to expand
- [Awesome Blockchain](#awesome-blockchain) - [Contents](#contents) - [Frequently Asked Questions (F.A.Q.s) & Answers](#frequently-asked-questions-faqs--answers) - [Basic Introduction](#basic-introduction) - [Development Tutorial](#development-tutorial) - [BitCoin](#bitcoin) - [Ethereum](#ethereum) - [Consortium Blockchain](#consortium-blockchain) - [Hyperledger](#hyperledger) - [XuperChain](#xuperchain) - [FISCO-BCOS](#fisco-bcos) - [Releated Tools](#releated-tools) - [Solidity](#solidity) - [truffle](#truffle) - [web3.js](#web3js) - [Implementation of Blockchain](#implementation-of-blockchain) - [Projects and Applications](#projects-and-applications) - [Quorum](#quorum) - [Monero](#monero) - [IOTA](#iota) - [EOS](#eos) - [IPFS](#ipfs) - [Filecoin](#filecoin) - [BigchainDB](#bigchaindb) - [BitShares](#bitshares) - [ArcBlock](#arcblock) - [Further Extension](#further-extension) - [Papers](#papers) - [Books](#books) - [Applications](#applications) - [Identity Applications](#identity-applications) - [Public Blockchain Identity](#public-blockchain-identity) - [Blockchain as a collateral](#blockchain-as-a-collateral) - [Unclear](#unclear) - [Guidance](#guidance) - [Internet of Things Applications](#internet-of-things-applications) - [Energy Applications](#energy-applications) - [Media and Journalism](#media-and-journalism) - [DeFi (Decentralised Finance)](#defi-decentralised-finance) - [Contribute](#contribute)Frequently Asked Questions (F.A.Q.s) & Answers
Q: What's a Blockchain?
A: A blockchain is a distributed database with a list (that is, chain) of records (that is, blocks) linked and secured by
digital fingerprints (that is, crypto hashes).
Example from genesis_block.json:
js
{
"version": 0,
"height": 1,
"previous_hash": null,
"timestamp": 1550049140488,
"merkle_hash": null,
"generator_publickey": "18941c80a77f2150107cdde99486ba672b5279ddd469eeefed308540fbd46983",
"hash": "d611edb9fd86ee234cdc08d9bf382330d6ccc721cd5e59cf2a01b0a2a8decfff",
"block_signature": "603b61b14348fb7eb087fe3267e28abacadf3932f0e33958fb016ab60f825e3124bfe6c7198d38f8c91b0a3b1f928919190680e44fbe7289a4202039ffbb2109",
"consensus_data": {},
"transactions": []
}

Q: What's a Hash? What's a (One-Way) Crypto(graphic) Hash Digest Checksum?
A: A hash e.g. d611edb9fd86ee234cdc08d9bf382330d6ccc721cd5e59cf2a01b0a2a8decfff
is a small digest checksum calculated
with a one-way crypto(graphic) hash digest checksum function
e.g. SHA256 (Secure Hash Algorithm 256 Bits)
from the data. Example from crypto.js:
js
function calc_hash(data) {
return crypto.createHash('sha256').update(data).digest('hex');
}
A blockchain uses
- the block header (e.g.
Version,TimeStamp,Previous Hash...)and - the block data (e.g.
Transaction Data...)
to calculate the new hash digest checksum.
Q: What's a Merkle Tree?
A: A Merkle tree is a hash tree named after Ralph Merkle who patented the concept in 1979 (the patent expired in 2002). A hash tree is a generalization of hash lists or hash chains where every leaf node (in the tree) is labelled with a data block and every non-leaf node (in the tree) is labelled with the crypto(graphic) hash of the labels of its child nodes. For more see the Merkle tree Wikipedia Article.
Note: By adding crypto(graphic) hash functions you can "merkelize" any data structure.
Q: What's a Merkelized DAG (Directed Acyclic Graph)?
A: It's a blockchain secured by crypto(graphic) hashes that uses a directed acyclic graph data structure (instead of linear "classic" linked list).
Note: Git uses merkelized dag (directed acyclic graph)s for its blockchains.
Q: Is the Git Repo a Blockchain?
A: Yes, every branch in the git repo is a blockchain. The "classic" Satoshi-blockchain is like a git repo with a single master branch (only).
More Q&A - Blockchain Interview Questions - 10 Essential Blockchain Interview Questions - Top 36 Blockchain Job Interview Questions & Answers
Basic Introduction
- Encryption knowledge
- Basic concepts - Asymmetric encryption, Digital signature, Certificate
- Digital signature extension - Multi-signature, Blind signature, Group signature, Ring signature
- Merkle tree
- Merkle DAG
- CryptoNote v2.0 - Untraceable Transactions and Egalitarian Proof-of-work
- Consensus
- Account and transaction model
- Exchange
- Applications
- Governance
Development Tutorial
BitCoin
Bitcoin is an experimental digital currency that enables instant payments to anyone, anywhere in the world. Bitcoin uses peer-to-peer technology to operate with no central authority: managing transactions and issuing money are carried out collectively by the network.
- BitCoin white paper: A Peer-to-Peer Electronic Cash System / Chinese version / Annotated BitCoin white paper
- Mastering BitCoin / Chinese version / pdf download
- Mining visualization
- Wallets
- Explorers
- Libraries - C++, JavaScript, PHP, Ruby, Python, Java, .Net
- Web services
- Full nodes
- More
Ethereum
Ethereum is a decentralized platform that runs smart contracts: applications that run exactly as programmed without any possibility of downtime, censorship, fraud or third-party interference.
These apps run on a custom built blockchain, an enormously powerful shared global infrastructure that can move value around and represent the ownership of property.
- Ethereum white paper / Chinese version / Annotated Ethereum white paper
- Mastering Ethereum / Chinese version
- Ethereum Yellow Paper / Chinese version
- Ethereum wiki
- Accounts, Transactions, Gas, and Block Gas Limits in Ethereum
- Ethereum Improvement Proposals
- Important EIPs and ERCs / EIP list
- Security
-
Token
-
Utils
-
EEA - Enterprise Ethereum: Private Blockchain For Enterprises
- What Is Enterprise Ethereum?
- What is The Enterprise Ethereum alliance?
- Benefits of Enterprise Ethereum
- Architecture Stack of the Enterprise Ethereum Blockchain
- What Are The Possible Enterprise Ethereum Use Cases?
- Ethereum Blockchain as a Service Providers
- Real-World Companies Using Enterprise Ethereum
- Final Words
Consortium Blockchain
-
Theory
-
Implement a consortium blockchain using ethereum
Hyperledger
- Hyperledger Org
-
Fabric
-
Explorer
- edx: Introduction to Hyperledger Blockchain Technologies Free Course
XuperChain
XuperChain, the first open source project of XuperChain Lab, introduces a highly flexible blockchain architecture with great transaction performance.
XuperChain is the underlying solution for union networks with following highlight features:
High Performance * Creative XuperModel technology makes contract execution and verification run parallelly. * TDPoS ensures quick consensus in a large scale network. * WASM VM using AOT technology.
Solid Security * Contract account protected by multiple private keys ensures assets safety. * Flexible authorization system supports weight threshold, AK sets and could be easily extended.
High Scalability * Robust P2P network supports a large scale network with thousands of nodes. * Branch management on ledger makes automatic convergence consistency and supports global deployment.
Multi-Language Support: Support pluggable multi-language contract VM using XuperBridge technology.
Flexibility: Modular and pluggable design provides high flexibility for users to build their blockchain solutions for various business scenarios.
FISCO-BCOS
Releated Tools
Solidity
truffle
web3.js
Implementation of Blockchain
- ATS: Functional Blockchain
- C#: Programming The Blockchain in C#
- Crystal: Write your own blockchain and PoW algorithm using Crystal
- C++: Blockchain from Scratch
- Go: Building Blockchain in Go / Chinese version 1 / Chinese version 2
- Go: Building A Simple Blockchain with Go
- Go: Code your own blockchain in less than 200 lines of Go
- Go: Code your own blockchain mining algorithm in Go
- Go: GoCoin - A full Bitcoin solution written in Go language (golang)
- Go: GoChain - A basic implementation of blockchain in go
- Go: Having fun implementing a blockchain using Golang
- Go: NaiveChain - A naive and simple implementation of blockchains
- Java: Creating Your First Blockchain with Java
- Java: Write a blockchain with java
- JavaScript: A cryptocurrency implementation in less than 1500 lines of code
- JavaScript: A web-based demonstration of blockchain concepts
- JavaScript: Build your own Blockchain in JavaScript
- JavaScript: Code for Blockchain Demo
- JavaScript: Creating a blockchain with JavaScript
- JavaScript: How To Launch Your Own Production-Ready Cryptocurrency
- JavaScript: Learn & Build a JavaScript Blockchain
- JavaScript: Node.js Blockchain Imlementation: BrewChain: Chain+WebSockets+HTTP Server
- JavaScript: Writing a tiny blockchain in JavaScript
- Kotlin: Let’s implement a cryptocurrency in Kotlin
- Python: A Practical Introduction to Blockchain with Python
- Python: Build your own blockchain: a Python tutorial
- Python: Learn Blockchains by Building One
- Python: Let’s Build the Tiniest Blockchain
- Python: write-your-own-blockchain
- Ruby: lets-build-a-blockchain
- Ruby: Programming Blockchains Step-by-Step (Manuscripts Book Edition)
- Scala: How to build a simple actor-based blockchain
- TypeScript: Naivecoin: a tutorial for building a cryptocurrency
- TypeScript: NaivecoinStake: a tutorial for building a cryptocurrency with the Proof of Stake consensus
Projects and Applications
Quorum
Quorum is an Ethereum-based distributed ledger protocol with transaction/contract privacy and new consensus mechanisms.
Quorum is a fork of go-ethereum and is updated in line with go-ethereum releases.
Key enhancements over go-ethereum:
- Privacy - Quorum supports private transactions and private contracts through public/private state separation, and utilises peer-to-peer encrypted message exchanges (see Constellation and Tessera) for directed transfer of private data to network participants
- Alternative Consensus Mechanisms - with no need for POW/POS in a permissioned network, Quorum instead offers multiple consensus mechanisms that are more appropriate for consortium chains:
- Raft-based Consensus - a consensus model for faster blocktimes, transaction finality, and on-demand block creation
- Istanbul BFT - a PBFT-inspired consensus algorithm with transaction finality, by AMIS.
- Peer Permissioning - node/peer permissioning using smart contracts, ensuring only known parties can join the network
- Higher Performance - Quorum offers significantly higher performance than public geth
Monero
Monero is a private, secure, untraceable, decentralised digital currency. You are your bank, you control your funds, and nobody can trace your transfers unless you allow them to do so.
Privacy: Monero uses a cryptographically sound system to allow you to send and receive funds without your transactions being easily revealed on the blockchain (the ledger of transactions that everyone has). This ensures that your purchases, receipts, and all transfers remain absolutely private by default.
Security: Using the power of a distributed peer-to-peer consensus network, every transaction on the network is cryptographically secured. Individual wallets have a 25 word mnemonic seed that is only displayed once, and can be written down to backup the wallet. Wallet files are encrypted with a passphrase to ensure they are useless if stolen.
Untraceability: By taking advantage of ring signatures, a special property of a certain type of cryptography, Monero is able to ensure that transactions are not only untraceable, but have an optional measure of ambiguity that ensures that transactions cannot easily be tied back to an individual user or computer.
- Getmonero.org - The official Monero website
- Lab.getmonero.org - The official research group of Monero
- RPC documentation - RPC documentation of the Monero daemon
- Wallet documentation - Wallet documentation of the Monero daemon
- Cryptonote Whitepaper - White paper of cryptonote, the family of crypto-currencies of Monero
- Review of the Cryptonote White Paper - By the research lab of Monero
-
Cryptonote Standards - The 10 Cryptonote standards (equivalent to BIPs for Bitcoin)
- Roadmap
- What is Monero? Most Comprehensive Guide / Chinese version
- More resouces
IOTA
IOTA is a revolutionary new transactional settlement and data integrity layer for the Internet of Things. It’s based on a new distributed ledger architecture, the Tangle, which overcomes the inefficiencies of current Blockchain designs and introduces a new way of reaching consensus in a decentralized peer-to-peer system. For the first time ever, through IOTA people can transfer money without any fees. This means that even infinitesimally small nanopayments can be made through IOTA.
IOTA is the missing puzzle piece for the Machine Economy to fully emerge and reach its desired potential. We envision IOTA to be the public, permissionless backbone for the Internet of Things that enables true interoperability between all devices.
- IOTA - Next Generation Blockchain
- Whitepaper - The Tangle / Chinese version
- Wikipedia
- A Primer on IOTA - A Primer on IOTA (with Presentation)
- IOTA China - IOTA China 首页
- IOTA Italia - IOTA Italia
- IOTA Korea - IOTA 한국
- IOTA Japan - IOTA 日本
- Roadmap
- IOTA Transactions, Confirmation and Consensus / Chinese version
- More resouces
EOS
EOSIO is software that introduces a blockchain architecture designed to enable vertical and horizontal scaling of decentralized applications (the “EOSIO Software”). This is achieved through an operating system-like construct upon which applications can be built. The software provides accounts, authentication, databases, asynchronous communication and the scheduling of applications across multiple CPU cores and/or clusters. The resulting technology is a blockchain architecture that has the potential to scale to millions of transactions per second, eliminates user fees and allows for quick and easy deployment of decentralized applications. For more information, please read the EOS.IO Technical White Paper.
- EOS Wiki - High Level EOS Software Overview
- Technical White Paper - EOS.IO Technical White Paper v2
- EOS: An Introduction - Black Edition - Ian Grigg's Whitepaper
-
EOSIO Developer Portal - Official EOSIO developer portal, with docs, APIs etc.
- Roadmap
- Tools
- Language Support
IPFS
IPFS (the InterPlanetary File System) is a new hypermedia distribution protocol, addressed by content and identities. IPFS enables the creation of completely distributed applications. It aims to make the web faster, safer, and more open.
IPFS is a distributed file system that seeks to connect all computing devices with the same system of files. In some ways, this is similar to the original aims of the Web, but IPFS is actually more similar to a single bittorrent swarm exchanging git objects. You can read more about its origins in the paper IPFS - Content Addressed, Versioned, P2P File System.
IPFS is becoming a new major subsystem of the internet. If built right, it could complement or replace HTTP. It could complement or replace even more. It sounds crazy. It is crazy.
- White Paper - Academic papers on IPFS / Chinese version
- Specs - Specifications on the IPFS protocol
- Notes - Various relevant notes and discussions (that do not fit elsewhere)
- Reading-list - Papers to read to understand IPFS
- Protocol Implementations
- More resouces
Filecoin
BigchainDB
BitShares
ArcBlock
EthAir Balloons
- A strictly typed ORM library for Ethereum blockchain. It allows developers to use Ethereum blockchain as a persistent storage in an organized and model-oriented way without writing custom complex Smart contracts.
Further Extension
Papers
Books
- Blockchain guide by Baohua Yang, 2017 -- Introduce blockchain related technologies, from theory to practice with bitcoin, ethereum and hyperledger.
- Blockchain: from Digital Currency to Credit Society
-
Attack of the 50 Foot Blockchain: Bitcoin, Blockchain, Ethereum & Smart Contracts by David Gerard, London, 2017 -- What is a bitcoin? ++ The Bitcoin ideology ++ The incredible promises of Bitcoin! ++ Early Bitcoin: the rise to the first bubble ++ How Bitcoin mining centralised ++ Who is Satoshi Nakamoto? ++ Spending bitcoins in 2017 ++ Trading bitcoins in 2017: the second crypto bubble ++ Altcoins ++ Smart contracts, stupid humans ++ Business bafflegab, but on the Blockchain ++ Case study: Why you can’t put the music industry on a blockchain
-
Mastering Bitcoin - Programming the Open Blockchain 2nd Edition, by Andreas M. Antonopoulos, 2017 - FREE (Online Source Version) -- What Is Bitcoin? ++ How Bitcoin Works ++ Bitcoin Core: The Reference Implementation ++ Keys, Addresses ++ Wallets ++ Transactions ++ Advanced Transactions and Scripting ++ The Bitcoin Network ++ The Blockchain ++ Mining and Consensus ++ Bitcoin Security ++ Blockchain Applications
-
Programming Blockchains in Ruby from Scratch Step-by-Step Starting w/ Crypto Hashes... ( Beta / Rough Draft ) by Gerald Bauer et al, 2018 - FREE (Online Version) -- (Crypto) Hash ++ (Crypto) Block ++ (Crypto) Block with Proof-of-Work ++ Blockchain! Blockchain! Blockchain! ++ Blockchain Broken? ++ Timestamping ++ Mining, Mining, Mining - What's Your Hash Rate? ++ Bitcoin, Bitcoin, Bitcoin ++ (Crypto) Block with Transactions (Tx)
-
Programming Cryptocurrencies and Blockchains in Ruby ( Beta / Rough Draft ) by Gerald Bauer et al, 2018 - FREE (Online Version) @ Yuki & Moto Press Bookshelf -- Digital $$$ Alchemy - What's a Blockchain? - How-To Turn Digital Bits Into $$$ or €€€? • Decentralize Payments. Decentralize Transactions. Decentralize Blockchains. • The Proof of the Pudding is ... The Bitcoin (BTC) Blockchain(s) ++ Building Blockchains from Scratch - A Blockchain in Ruby in 20 Lines! A Blockchain is a Data Structure • What about Proof-of-Work? What about Consensus? • Find the Lucky Number - Nonce == Number Used Once ++ Adding Transactions - The World's Worst Database - Bitcoin Blockchain Mining • Tulips on the Blockchain! Adding Transactions ++ Blockchain Lite - Basic Blocks • Proof-of-Work Blocks • Transactions ++ Merkle Tree - Build Your Own Crypto Hash Trees; Grow Your Own Money on Trees • What's a Merkle Tree? • Transactions ++ Central Bank - Run Your Own Federated Central Bank Nodes on the Blockchain Peer-to-Peer over HTTP • Inside Mining - Printing Cryptos, Cryptos, Cryptos on the Blockchain ++ Awesome Crypto ++ Case Studies - Dutch Gulden • Shilling • CryptoKitties (and CryptoCopycats)
-
Blockchain for Dummies, IBM Limited Edition by Manav Gupta, 2017 - FREE (Digital Download w/ Email) -- Grasping Blockchain Fundamentals ++ Taking a Look at How Blockchain Works ++ Propelling Business with Blockchains ++ Blockchain in Action: Use Cases ++ Hyperledger, a Linux Foundation Project ++ Ten Steps to Your First Blockchain application
-
Get Rich Quick "Business Blockchain" Bible - The Secrets of Free Easy Money, 2018 - FREE -- Step 1: Sell hot air. How? ++ Step 2: Pump up your tokens. How? ++ Step 3: Revolutionize the World. How?
-
Mastering Ethereum - Building Contract Services and Decentralized Apps on the Blockchain - by Andreas M. Antonopoulos, Gavin Wood, 2018 - FREE (Online Source Version) What is Ethereum ++ Introduction ++ Ethereum Clients ++ Ethereum Testnets ++ Keys and Addresses ++ Wallets ++ Transactions ++ Contract Services ++ Tokens ++ Oracles ++ Accounting & Gas ++ EVM (Ethereum Virtual Machine) ++
Consensus ++
DevP2P (Peer-To-Peer) Protocol ++ Dev Tools and Frameworks ++ Decentralized Apps ++ Ethereum Standards (EIPs/ERCs) -
Building Decentralized Apps on the Ethereum Blockchain by Roberto Infante, 2018 - FREE chapter 1 -- Understanding decentralized applications ++ The Ethereum blockchain ++ Building contract services in (JavaScript-like) Solidity ++ Running contract services on the Ethereum blockchain ++ Developing Ethereum Decentralized apps with Truffle ++ Best design and security practice
-
Crypto Facts - Decentralize Payments - Efficient, Low Cost, Fair, Clean - True or False?, 2018 - FREE
-
IslandCoin White Paper - A Pen and Paper Cash System - How to Run a Blockchain on a Deserted Island by Tal Kol -- Motivation ++ Consensus ++ Transaction and Block Specification - Transaction format • Block format • Genesis block ++ References
-
Blockchain in Action by Bina Ramamurthy, early access -- Learn how blockchain differs from other distributed systems ++ Smart contract development with Ethereum and the Solidity language ++ Web UI for decentralized apps ++ Identity, privacy and security techniques ++ On-chain and off-chain data storage
-
Permissioned Blockchains in Action by Mansoor Ahmed-Rengers & Marta Piekarska-Geater, early access -- A guide to creating innovative applications using blockchain technology ++ Writing smart contracts and distributed applications using Solidity ++ Configuring DLT networks ++ Designing blockchain solutions for specific use cases ++ Identity management in permissioned blockchains networks
-
Programming Hyperledger Fabric by Siddharth Jain, -- A guide to developing blockchain applications for enterprise use cases ++ Where Fabric fits in to the blockchain landscape ++ The ins and outs of deploying real-world applications ++ Developing smart contracts and client applications in Node ++ Debugging and troubleshooting ++ Securing production applications
-
Self-Sovereign Identity by Alex Preukschat and Drummond Reed, -- In Self-Sovereign Identity: Decentralized digital identity and verifiable credentials++ you’ll learn how SSI empowers us to receive digitally-signed credentials++ store them in private wallets++ and securely prove our online identities.
Applications
Identity Applications
Public Blockchain Identity
- Blockstack - Platform for decentralized, server-less apps where users control their data. Identity included.
- Evernym - Self-Sovereign identity built on top of open source permissioned blockchain.
- Jolocom - Self-sovereing identity wallet.
- SIN - Proposed identity protocol for BitCoin.
- uPort - Self-Sovereign identity on Ethereum by ConsenSys.
Blockchain as a collateral
- ShoCard - Proprietary digital identity service, uses blockchain for time-stamping and secure documents exchange.
- Tradle - Makes a bank on blockchain, identity as a collateral.
Unclear
- KYC Chain - Secure platform for sharing verifiable identity claims, data or documents among financial institutions.
- ObjectChain Collab - Cross-industry collaboration over distributed identity.
- UniquID - Identity both for people and devices.
- Vida Identity - Enterprise-grade Blockchain Identity Software.
Guidance
- ID3 - Institute for Data Driven Design, explores issues around self-sovereign identity, and distributed organizations.
- OpenCreds - W3C Credentials Community Group.
- TAO Network Identity - Description of blockchain identity by Tao.Network.
Internet of Things Applications
- Chronicled - IoT devices registry on blockchain.
- Filament - Software and hardware for decentralized Intranet of Things systems
- IOTA - Decentralized Internet of Things token on blockless blockchain.
- Machinomy - Distributed platform for IoT micropayments.
- Project Oaken - IoT blockchain platform.
- Slock.it - Ethereum-based platform for building Shared Things.
Energy Applications
- bankymoon - Blockchain consultancy. Presented bitcoin-topped smart electricity meter. Once topped up, it chooses a plan, and starts moving energy.
- Co-Tricity - Decentralised energy marketplace by Innogy and ConsenSys.
- Electron - Reinventing energy on blockchain.
- GridSingularity - Blockchain for Smart Grid. Declare three years of work on the technology.
- lo3 energy - Energy Services, Product Research & Development. Makers of Brooklyn Microgrid along with ConsenSys.
- lumo - Energy provider. Experiment with blockchain.
- PowerLedger - Decentralised energy marketpace.
- PowerPeers - Peer-to-peer energy marketplace in the Netherlands.
- Solar Change - Makers of Solar Coin. AltCoin for a MW of solar power.
- Terraledger - Provider of Renewable Energy Certificates.
- ImpactPPA - Reinvesting of power generated under Power Purchase Agreement in more PPAs.
Media and Journalism
- Steem - Decentralized social network which incentivises content creation and curation.
- PopChest - Incentivized distributed video platform.
- Civil - Decentralized newsmaking platform.
DeFi (Decentralised Finance)
- Uniswap - Decentralized exchange powered by the Automated Market Maker model (AMM).
- Compound - Decentralized lending and borrowing.
- 1inch Exchange - Get the best rates among multiple DEXes.
-
Synthetix - Protocol for synthetic assets.
-
Tools
- Defi Dashboard: portfolio tracker, project lists, rankings, etc.
- Zapper: dashboard for viewing and managing your DeFi investments.
- Furucombo: easily create flashloans without writing a single line of code.
- Covalent: an unified API bringing visibility to billions of blockchain data points.
Contribute
Contributions welcome!
- Fork it (https://github.com/yjjnls/awesome-blockchain/fork)
- Clone it (
git clone https://github.com/yjjnls/awesome-blockchain) - Create your feature branch (
git checkout -b your_branch_name) - Commit your changes (
git commit -m 'Description of a commit') - Push to the branch (
git push origin your_branch_name) - Create a new Pull Request
If you found this resource helpful, give it a 🌟 otherwise contribute to it and give it a ⭐️.
Awesome Blockchain 
收集所有区块链(BlockChain)技术开发相关资料
Please read the contribution guidelines before contributing. 请在为本项目贡献信息前仔细阅读 操作指南
欢迎到Issues提交区块链相关项目,我们会第一时间处理。 提交的项目格式如下: 项目名称:XXXXX 相关介绍: XXXXXX
CONTENTS
INTRO 介绍
Started 入门
- (一)简单易懂地介绍什么是区块链 比特币区块链关键词讲解
- (二)简单易懂地介绍什么是区块链(技术篇) 比特币区块链技术图解
- 一文看懂区块链:一步一步发明比特币
- 一步一步学区块链 按步骤的实际操作入门指南
- 区块链技术指南 区块链领域比较系统的入门资料
- 理解区块链 区块链关键技术要点讲解
- 一文看懂区块链架构设计 从技术分层解构架构
- 共识算法与如何解决拜占庭将军问题
- Defi Mooc教程 Defi公开课程
Ethereum 以太坊进阶
- 区块链技术-智能合约-以太坊 以太坊智能合约入门概念
- 以太坊白皮书
- The Ethereum Wiki (English)
- 以太坊设计原理
- 以太坊Dapp开发入门
- 以太坊Gas使用 Calculating Costs in Ethereum Contracts (English)
- 以太坊代码剖析
- 以太坊源码阅读
- Merkle Tree学习
- 以太坊的指南针
Fabric 联盟链进阶
- Blockchain区块链架构设计之一:成员管理
- Blockchain区块链架构设计之二:分布式账本技术对比
- Blockchain区块链架构设计之三:Hyperledger Fabric介绍
- Blockchain区块链架构设计之四:Fabric多通道和下一代账本设计
- Blockchain区块链架构设计之五:让DLT产生协作,对Corda和GSL的思考
- Blockchain区块链架构设计之六:Fabric 1.0账本设计(1)
- Blockchain区块链架构设计之七:Fabric 1.0 Endorse背书策略
- Hyperledger架构解读:Hyperledger Fabric1.0架构概览
TUTORIAL 教程
BitCoin 比特币
- Bitcoin and Cryptocurrency Technologies Cousera上的比特币教程 (English)
Ethereum 以太坊
- 以太坊从零开始入门
- 以太坊开发入门经验
- mac配置以太坊本地开发环境
- 以太坊智能合约编程之菜鸟教程
- 以太坊常见问题FAQ
- 区块链语言Solidity校验椭圆曲线加密数字签名(附实例)
- Create your own crypto-currency 来自以太坊官方的代币创建教程 (English)
- ETHEREUM PET SHOP Truffle框架逐步案例教程 (English)
- ROBUST SMART CONTRACTS WITH OPENZEPPELIN OpenZeppelin集成Truffle编写健壮安全的合约 (English)
- Truffle3.0案例教程 集成NodeJS并完全跑通,附详细实例和可能的错误 (English)
- 以太坊开发入门教程
- useWeb3教程 web3开发教程合集 (English)
- cryptozombies教程 solidity游戏式教程 (English)
- chainshot教程 web3开发教程合集 (English)
- smartcontract教程 solidity leetcode模式教程 (English)
- solidity案例教程 solidity案例学习 (English)
Fabric 联盟链
- Fabric Basics 使用Docker Toolbox来搭建Fabric的开发环境 (English)
- Learn Chaincode Fabric Chaincode入门 (English)
- Marbles Project Tutorial: Part One 官方Chaincode案例教程第一部分 (English)
- Marbles Project Tutorial: Part Two 官方Chaincode案例教程第二部分 (English)
- Hyperledger Fabric V1.0– 开发者快速入门 这个是基于baseos 0.2.2 的
- 搭建运行Fabric V1.0-alpha版本 针对Fabric1.0版本的开发环境搭建指引
- Fabric v1.0-alpha 开发镜像编译 使用Fabric源码编译v1.0-alpha版本的Docker镜像指引
- Hyperledger Composer使用入门 官方Fabric应用开发工具Hyperledger Composer入门
- Fabric-CA-1.0-Alpha小结
Videos 视频
- Building Ethereum DApps using Solidity 视频教程 (English)
- Devcon 0 (Berlin, 2014) talks and videos (English)
- Devcon 1 (London, 2015) talks and videos (English)
- Devcon 2 (Shanghai, 2016) talks and videos (English)
- Devcon 3 (Cancún, 2017) website and registration (English)
PROJECT 项目
Chain 区块链底层
- Metaverse 原界链源码
- EOS EOS链源码
- BYTOM 比原链源码
- NEO NEO链源码
- CITA cita联盟链的底层源码
- Nervos 公链 Nervos CKB 的底层源码
- 比特币0.1 最原始的比特币代码
- Quorum 来自JP Morgan基于Go-Ethereum数据隐私加强的以太坊实现
- FISCO-BCOS 来自金链盟的聚焦金融行业的区块链底层平台
- Presto-Ethereum 以太坊增加Presto的SQL访问能力
- IPFS IPFS的GO语言实现 原理
SDK 工具包
- Remix 在线以太坊编译器
- Truffle 以太坊Dapp开发脚手架
- Zeppelin 用于编写安全的以太坊合约框架
- Web3j 以太坊官方Web3轻量级java SDK
- Embark 以太坊Dapp开发框架,支持IPFS、Whisper及Orbit调用
- Web3Swift 一个Web3的swift SDK
- Porosity 反编译以太坊智能合约工具
- Solidity-Coverage 检测Solidity代码覆盖
- Caliper hyperledger区块链性能测试工具
- Composer 官方可视化Fabric应用开发框架
- Cakeshop 来自JP Morgan的以太坊可视化管理工具
Research 最新研究
- eWASM 让以太坊支持WebAssembly
- FSolidM 可视化智能合约生成工具 源码
- Maian 以太坊智能合约漏洞查找工具
- Oyente 以太坊智能合约分析工具
- Blockbench 区块链性能测试工具
- Zokrates 以太坊使用zkSNARKS工具包(实验用)
- libsnark zkSNARKS C++库
DOCUMENT 资料
BitCoin 比特币
- 精通比特币 精通比特币开发Oreilly开源书 中文翻译版
- blockchaindev.org 区块链创业公司维优CTO的专栏
- 区块链研习社 比特币源码解读
Ethereum 以太坊
- Mastering Ethereum 精通以太坊开发Oreilly开源书
- 区块链技术博客 关注以太坊
- 以太坊系列教程 solidity语言学习
- Solidity语言文档 语言中文手册
- Web3.JS接口文档 接口中文手册
- Truffle框架文档 框架中文手册
- Open Zeppelin框架文档 框架中文手册
- Ethplorer接口 Ethplorer接口文档
- 以太坊常见问题FAQ
- Ethereum Smart Contract Security Best Practices (English)
- EthList 以太坊开发相关学习资料收集 (English)
- 以太坊开发者工具列表 以太坊开发资料收集
Fabric 联盟链
- Fabric Official Docs Fabric官方最新文档
- yeasy的专栏 IBM fabric核心开发者yeasy的专栏
- 菜鸟的博客 fabric0.6及1.0源码分析
- jiang_xinxing的博客 fabric0.6源码分析
APPLICATION 应用
Explorer 链浏览
- Blockchain 比特币区块链浏览器
- Etherscan 以太坊区块链浏览器
- Ethplorer 以太坊区块链浏览器,提供API调用
- Eth Gas Station 以太坊Gas目前定价
- Etherscope 以太坊区块链浏览器
- Oklink Defi市场状况浏览器
Wallet 钱包
- My Ether Wallet 网页版以太坊钱包 源码
- MetaMask Chrome Extension浏览器插件版
- Multi-platform Jaxx Wallet 同时兼容以太坊和比特币钱包
- Mist Wallet 官方版轻量级钱包
- Parity Wallet
- Harmony Wallet
- imToken 移动App版钱包
- Trust iOS / Android 原生钱包 + DApp 浏览器
- Cipher iOS / Android 钱包 + DApp 浏览器
- Ledger Nano S 硬件钱包
- Trezor 硬件钱包
Exchange 交易所
- 0x 0x交易所平台 源码
- IDEX IDEX交易所,目前最活跃 源码
- ethdelf etherdelta交易所 源码
- forkdelta forkdelta交易所,较活跃 源码
- kyber kyber交易所 源码
- Dmarket dmarket交易所 源码
- augur 对赌交易所 源码
- melonport 数字资产交易所 源码
Defi 去中心化金融
- Uniswap Uniswap 源码
- Synthetix Synthetix 衍生品源码
- Aave Aave 借贷机制 源码
- Compound Compound 借贷机制 源码
- MakerDao MakerDao 做市Dai代币 源码
- Wrapped BTC BTC锚定资产 源码
- USDT USDT稳定币
Game 游戏
- CryptoKitties 以太猫
- Etheremon 以太神奇宝贝
- Edgeless 虚拟币在线赌场 源码
IM 通信
- status-im status.im项目开源代码
Social 社会
Cross Chain 跨链
Token 代币
- ERC20 以太坊的ICO代币标准
- Token Sale 代币销售模型
- NFT NFT代币
Awesome Ethereum
以太坊相关详细开发资源收集
Awesome Fabric
Fabric联盟链相关详细开发资源收集
DONATE 赞助
BTC:1JnC15WwDVcC3QbQRUY6ChqRLucLpTGaJN
ETH:0x81847890eecdecb20ee145824eaa1aec079a712c
License
To the extent possible under law, Chaozh has waived all copyright and related or neighboring rights to this work.
Mining Digital Gold one Block at a Time?! • Don't Expect to Get Insanely Rich (Quick) • Tulips :tulip::tulip::tulip: (like Blockchains) are Great and Gorgeous (and will Endure)
```ruby b0 = Block.first( { from: "Dutchgrown", to: "Vincent", what: "Tulip Bloemendaal Sunset", qty: 10 }, { from: "Keukenhof", to: "Anne", what: "Tulip Semper Augustus", qty: 7 } )
b1 = Block.next( b0, { from: "Flowers", to: "Ruben", what: "Tulip Admiral van Eijck", qty: 5 }, { from: "Vicent", to: "Anne", what: "Tulip Bloemendaal Sunset", qty: 3 }, { from: "Anne", to: "Julia", what: "Tulip Semper Augustus", qty: 1 }, { from: "Julia", to: "Luuk", what: "Tulip Semper Augustus", qty: 1 } ) ... ```
(Source: blockchain_with_transactions.rb)
Awesome Blockchains
A collection about awesome blockchains - open distributed databases w/ crypto hashes incl. git ;-). Blockchains are the new tulips :tulip::tulip::tulip:.
Contents:
- Frequently Asked Questions (F.A.Q.s) & Answers
- Do-It-Yourself (DIY) - Build Your Own Blockchain
- Python • Ruby • JavaScript • Java • Go
- Blockchain Articles
- Blockchain Books
- Blockchain (Lite) Crypto Hash Libraries
- Git, Git, Git - The Stupid Content Tracker with Crypto Hashes
- Classic Tulip Mania
- Awesome Awesomeness
What's News?
For blockchain books, see the new Best of Crypto Books page »
The Open Blockchains Book of the Year 2020 Award Goes To...
Libra Shrugged: How Facebook Tried to Take Over the Money
by David Gerard, November 2020, 182 Pages --
Introduction: Taking over the money ++
A user's guide to Libra ++
The genesis of Libra: Beller's blockchain ++
To launch a Libra: Let’s start a crypto ++
Bitcoin: why Libra is like this ++
The Libra White Papers ++
Banking the unbanked ++
The Libra Reserve plan and economic stability ++
Libra, privacy and your digital identity ++
The regulators recoil in horror ++
David Marcus before the US House and Senate ++
July to September 2019: Libra runs the gauntlet ++
October 2019: Libra's bad month ++
Mark Zuckerberg before the US House ++
November 2019: The comedown ++
Central bank digital currencies ++
Epilogue: Libra 2.0: not dead yet ++
Appendix: 2010–2013: The rise and fall of Facebook Credits
For more about Diem (formerly Libra), see the Awesome Diem (formerly Libra) and Move page »
For crypto quotes, see the new 100+ Best of Crypto Quotes - I HODL, you HODL, we HODL! - BREAKING: BITCOIN JUST BROKE $22 000! page »
The Best Crypto Quote "Oracle Saying" of the Year 2020 Award Goes To...
SEC Investor Education: - Don't understand an investment? - Don't invest in it.
Yes, but what if there's only 21 million of it?
- Trolly McTrollface
Frequently Asked Questions (F.A.Q.s) & Answers
Q: What's a Blockchain?
A: A blockchain is a distributed database with a list (that is, chain) of records (that is, blocks) linked and secured by
digital fingerprints (that is, cryptho hashes).
Example from blockchain.rb:
[#<Block:0x1eed2a0
@timestamp = 1637-09-15 20:52:38,
@data = "Genesis",
@previous_hash = "0000000000000000000000000000000000000000000000000000000000000000",
@hash = "edbd4e11e69bc399a9ccd8faaea44fb27410fe8e3023bb9462450a0a9c4caa1b">,
#<Block:0x1eec9a0
@timestamp = 1637-09-15 21:02:38,
@data = "Transaction Data...",
@previous_hash = "edbd4e11e69bc399a9ccd8faaea44fb27410fe8e3023bb9462450a0a9c4caa1b",
@hash = "eb8ecbf6d5870763ae246e37539d82e37052cb32f88bb8c59971f9978e437743">,
#<Block:0x1eec838
@timestamp = 1637-09-15 21:12:38,
@data = "Transaction Data......",
@previous_hash = "eb8ecbf6d5870763ae246e37539d82e37052cb32f88bb8c59971f9978e437743",
@hash = "be50017ee4bbcb33844b3dc2b7c4e476d46569b5df5762d14ceba9355f0a85f4">,
...

Q: What's a Hash? What's a (One-Way) Crypto(graphic) Hash Digest Checksum?
A: A hash e.g. eb8ecbf6d5870763ae246e37539d82e37052cb32f88bb8c59971f9978e437743
is a small digest checksum calculated
with a one-way crypto(graphic) hash digest checksum function
e.g. SHA256 (Secure Hash Algorithm 256 Bits)
from the data. Example from blockchain.rb:
ruby
def calc_hash
sha = Digest::SHA256.new
sha.update( @timestamp.to_s + @previous_hash + @data )
sha.hexdigest ## returns "eb8ecbf6d5870763ae246e37539d82e37052cb32f88bb8c59971f9978e437743"
end
A blockchain uses
- the block timestamp (e.g.
1637-09-15 20:52:38) and - the hash from the previous block (e.g.
edbd4e11e69bc399a9ccd8faaea44fb27410fe8e3023bb9462450a0a9c4caa1b) and finally - the block data (e.g.
Transaction Data...)
to calculate the new hash digest checksum, that is, the hash
e.g. be50017ee4bbcb33844b3dc2b7c4e476d46569b5df5762d14ceba9355f0a85f4.
Q: What's a Merkle Tree?
A: A Merkle tree is a hash tree named after Ralph Merkle who patented the concept in 1979 (the patent expired in 2002). A hash tree is a generalization of hash lists or hash chains where every leaf node (in the tree) is labelled with a data block and every non-leaf node (in the tree) is labelled with the crypto(graphic) hash of the labels of its child nodes. For more see the Merkle tree Wikipedia Article.
Note: By adding crypto(graphic) hash functions you can "merkelize" any data structure.
Q: What's a Merkelized DAG (Directed Acyclic Graph)?
A: It's a blockchain secured by crypto(graphic) hashes that uses a directed acyclic graph data structure (instead of linear "classic" linked list).
Note: Git uses merkelized dag (directed acyclic graph)s for its blockchains.
Q: Is the Git Repo a Blockchain?
A: Yes, every branch in the git repo is a blockchain. The "classic" Satoshi-blockchain is like a git repo with a single master branch (only).
Do-It-Yourself (DIY) - Build Your Own Blockchain

Python • Ruby • JavaScript • Java • Go
Python
Let's Build the Tiniest Blockchain in Python Series by Gerald Nash
- Let's Build the Tiniest Blockchain In Less Than 50 Lines of Python (Part 1), July 2016
- Let's Make the Tiniest Blockchain Bigger With More Lines of Python (Part 2), July 2016
Build Your Own Blockchain: A Python Tutorial by Eric Munsing, March 2017, (Source)
Learn Blockchains by Building One (in Python) by Daniel van Flymen, September 2017, (Source) -- The fastest way to learn how Blockchains work is to build one
Build Your Own Blockchain (in Python 3) Series by Jack Schultz, (Source)
- Part 1: Creating, Storing, Syncing, Displaying, Mining, and Proving Work, October 2017
- Part 2: Syncing Chains From Different Nodes, October 2017
- Part 3: Writing Nodes that Mine and Talk, November 2017
A Practical Introduction to Blockchain with Python by Adil Moujahid, March 2018, (Source)
Ruby
How Does Bitcoin Force Consensus Among Byzantine Generals? by Fabio Akita, November 2017
blockchain-lite - Build your own blockchains with crypto hashes; revolutionize the world with blockchains, blockchains, blockchains one block at a time! by Gerald Bauer, Ruby Advent Calendar 2017 / Day 1, December 2017
merkletree library - Build Your Own Crypto Hash Trees; Grow Your Own Money on Trees by Gerald Bauer, Ruby Advent Calendar 2017 / Day 19, December 2017
centralbank command line tool (and library) - Print Your Own Money / Cryptocurrency; Run Your Own Federated Central Bank Nodes on the Blockchain Peer-to-Peer over HTTP by Gerald Bauer, Ruby Advent Calendar 2017 / Day 24, December 2017
A guide to building a blockchain & cryptocurrency from scratch (Source) by Antoine Fink, April 2021
Crystal
Write your own blockchain and Proof-of-Work (PoW) algorithm using Crystal by Bradford Lamson-Scribner, May 2018, (Source)
JavaScript
Writing a Tiny Blockchain in JavaScript by Xavier Decuyper, July 2017
Node.js Blockchain Imlementation: BrewChain: Chain+WebSockets+HTTP Server by Darren Beck, November 2017, (Source) -- Protecting the tea making ledger from unscrupulous colleagues
Build your own Blockchain in Javascript/Visualization of Blockchains by Nam Chu Hoai, January 2018
TypeScript
Naivecoin: a tutorial for building a cryptocurrency by Lauri Hartikka, (Source)
Java
Creating Your First Blockchain with Java, Part 1 by Kass, December 2017, (Source)
Kotlin
Let's implement a cryptocurrency in Kotlin by Vasily Fomin, July 2018, (Source)
SQL
Blockchain by Example in SQL Server by Benjamin Campbell, December 2017, (Source)
Rust
Building Blockchain in Rust Series by Jacob Lindahl, GeekLaunch, (Source), (Slide Decks in PDF) - Part 1: Blocks and Hashing, January 2019 - Part 2: Mining, January 2019 - Part 3: Chains and Checks, January 2019
Go
Building Blockchain in Go Series by Ivan Kuznetsov, (Source)
- Part 1: Basic Prototype, August 2017
- Part 2: Proof-of-Work, August 2017
- Part 3: Persistence and CLI, August 2017
- Part 4: Transactions 1, September 2017
- Part 5: Addresses, September 2017
- Part 6: Transactions 2, September 2017
- Part 7: Network, October 2017
Blockchain Series in Go by by Coral Health (Source)
- Code your own blockchain in less than 200 lines of Go! by Coral Health, January 2018
- Part 2: Networking — Code your own blockchain in less than 200 lines of Go! by Coral Health, February 2018
- Code your own blockchain mining algorithm in Go! by Coral Health, March 2018
Talk Notes
- Blockchain! Blockchain! Blockchain! - Build Your Own Blockchains in JavaScript from Zero (Scratch) by Gerald Bauer, Vienna.js, September 2017
- Blockchain! Blockchain! Blockchain! - Build Your Own Blockchains in Ruby from Zero (Scratch) by Gerald Bauer, Vienna.rb, Dezember 2017
- Blockchain vs (Hyper) Ledger -- Inside (Hyper) Ledger Lite - Add Transactions One Block at a Time and Balance the Accounts (Books) by Gerald Bauer, Hyperledger Vienna, March 2018
- Blockchain! Blockchain! Blockchain! - Build Your Own Blockchains in Go from Zero (Scratch) by Gerald Bauer, Vienna.go, April 2018
More
See Build your own Blockchain / Cryptocurrency @ Build your own (insert technology here)
Samples
Blockchain from Scratch - Ruby Version
```ruby class Block
attr_reader :timestamp attr_reader :data attr_reader :previous_hash attr_reader :hash
def initialize(data, previous_hash) @timestamp = Time.now @data = data @previous_hash = previous_hash @hash = calc_hash end
def self.first( data="Genesis" ) # create genesis (big bang! first) block ## note: uses all zero for previous_hash ("0") Block.new( data, "0000000000000000000000000000000000000000000000000000000000000000" ) end
def self.next( previous, data="Transaction Data..." ) Block.new( data, previous.hash ) end
private
def calc_hash sha = Digest::SHA256.new sha.update( @timestamp.to_s + @previous_hash + @data ) sha.hexdigest end
end # class Block
let's get started
build a blockchain a block at a time
b0 = Block.first( "Genesis" ) b1 = Block.next( b0, "Transaction Data..." ) b2 = Block.next( b1, "Transaction Data......" ) b3 = Block.next( b2, "More Transaction Data..." )
blockchain = [b0, b1, b2, b3]
pp blockchain
```
(Source: blockchain.rb)
will pretty print (pp) something like:
[#<Block:0x1eed2a0
@timestamp = 1637-09-15 20:52:38,
@data = "Genesis",
@previous_hash = "0000000000000000000000000000000000000000000000000000000000000000",
@hash = "edbd4e11e69bc399a9ccd8faaea44fb27410fe8e3023bb9462450a0a9c4caa1b">,
#<Block:0x1eec9a0
@timestamp = 1637-09-15 21:02:38,
@data = "Transaction Data...",
@previous_hash = "edbd4e11e69bc399a9ccd8faaea44fb27410fe8e3023bb9462450a0a9c4caa1b",
@hash = "eb8ecbf6d5870763ae246e37539d82e37052cb32f88bb8c59971f9978e437743">,
#<Block:0x1eec838
@timestamp = 1637-09-15 21:12:38,
@data = "Transaction Data......",
@previous_hash = "eb8ecbf6d5870763ae246e37539d82e37052cb32f88bb8c59971f9978e437743",
@hash = "be50017ee4bbcb33844b3dc2b7c4e476d46569b5df5762d14ceba9355f0a85f4">,
#<Block:0x1eec6d0
@timestamp = 1637-09-15 21:22:38,
@data = "More Transaction Data...",
@previous_hash = "be50017ee4bbcb33844b3dc2b7c4e476d46569b5df5762d14ceba9355f0a85f4",
@hash = "5ee2981606328abfe0c3b1171440f0df746c1e1f8b3b56c351727f7da7ae5d8d">]
Comments from the reddit ruby posting:
Wait, so a blockchain is just a linked list?
No. A linked list is only required to have a reference to the previous element, a block must have an identifier depending on the previous block's identifier, meaning that you cannot replace a block without recomputing every single block that comes after. In this implementation that happens as the previous digest is input in the calc_hash method.
What about Proof of Work / Waste?
Let's add a proof of work / waste to the blockchain. In the classic blockchain you have to compute a block hash that starts with leading zeros (00). The more leading zeros the harder (more difficult) to compute. Let's keep it easy to compute with two leading zeros (00), that is, 16^2 = 256 possibilites (^1,2). Three leading zeros (000) would be 16^3 = 4_096 possibilites and four zeros (0000) would be 16^4 = 65_536 and so on.
(^1): 16 possibilties because it's a hex or hexadecimal or base 16 number, that is, 0 1 2 3 4 6 7 8 9 a (10) b (11) c (12) d (13) e (14) f (15).
(^2): A random secure hash algorithm needs on average 256 tries (might be lets say 305 tries, for example, because it's NOT a perfect statistic distribution of possibilities).
Example:
```ruby
def compute_hash_with_proof_of_work( difficulty="00" )
nonce = 0
loop do
hash = calc_hash_with_nonce( nonce )
if hash.start_with?( difficulty )
return [nonce,hash] ## bingo! proof of work if hash starts with leading zeros (00)
else
nonce += 1 ## keep trying (and trying and trying)
end
end
end
def calc_hash_with_nonce( nonce=0 ) sha = Digest::SHA256.new sha.update( nonce.to_s + @timestamp.to_s + @previous_hash + @data ) sha.hexdigest end ```
(Source: blockchain_with_proof_of_work.rb)
Let's rerun the sample with the proof of work machinery added. Now the sample will pretty print (pp) something like:
[#<Block:0x1e204f0
@timestamp = 1637-09-20 20:13:38,
@data = "Genesis",
@previous_hash = "0000000000000000000000000000000000000000000000000000000000000000",
@nonce = 242,
@hash = "00b8e77e27378f9aa0afbcea3a2882bb62f6663771dee053364beb1887e18bcf">,
#<Block:0x1e56e20
@timestamp = 1637-09-20 20:23:38,
@data = "Transaction Data...",
@previous_hash = "00b8e77e27378f9aa0afbcea3a2882bb62f6663771dee053364beb1887e18bcf",
@nonce = 46,
@hash = "00aae8d2e9387e13c71b33f8cd205d336ac250d2828011f5970062912985a9af">,
#<Block:0x1e2bd58
@timestamp = 1637-09-20 20:33:38,
@data = "Transaction Data......",
@previous_hash = "00aae8d2e9387e13c71b33f8cd205d336ac250d2828011f5970062912985a9af",
@nonce = 350,
@hash = "00ea45e0f4683c3bec4364f349ee2b6816be0c9fd95cfd5ffcc6ed572c62f190">,
#<Block:0x1fa8338
@timestamp = 1637-09-20 20:43:38,
@data = "More Transaction Data...",
@previous_hash = "00ea45e0f4683c3bec4364f349ee2b6816be0c9fd95cfd5ffcc6ed572c62f190",
@nonce = 59,
@hash = "00436f0fca677652963e904ce4c624606a255946b921132d5b1f70f7d86c4ab8">]
See the difference? All hashes now start with leading zeros (00) and the nonce is the random "lucky number"
that makes it happen. That's the magic behind the proof of work.
Blockchain from Scratch - JavaScript Version
```js class Block {
constructor(data, previousHash) { this.timestamp = new Date() this.data = data this.previousHash = previousHash this.hash = this.calcHash() }
calcHash() { var sha = SHA256.create() sha.update( this.timestamp.toString() + this.previousHash + this.data ) return sha.hex() }
static first( data="Genesis" ) { // create genesis (big bang! first) block // uses all-zero previousHash return new Block( data, "0000000000000000000000000000000000000000000000000000000000000000" ) }
static next( previous, data="Transaction Data..." ) { return new Block( data, previous.hash ) } }
////// // let's get started // build a blockchain a block at a time
b0 = Block.first( "Genesis" ) b1 = Block.next( b0, "Transaction Data..." ) b2 = Block.next( b1, "Transaction Data......" ) b3 = Block.next( b2, "More Transaction Data..." )
blockchain = [b0, b1, b2, b3]
console.log( blockchain ) ```
(Source: blockchain.js)
will log something like:
[ Block {
timestamp : 1637-09-18 08:25:54,
data : 'Genesis',
previousHash : '0000000000000000000000000000000000000000000000000000000000000000',
hash : 'c396de4c03ddb5275661982adc75ce5fc5905d2a2457d1266c74436c1f3c50f1' },
Block {
timestamp : 1637-09-18 08:35:54,
data : 'Transaction Data...',
previousHash : 'c396de4c03ddb5275661982adc75ce5fc5905d2a2457d1266c74436c1f3c50f1',
hash : '493131e09c069645c82795c96e4715cea0f5558be514b5096d853a5b9899154a' },
Block {
timestamp : 1637-09-18 08:45:54,
data : 'Transaction Data......',
previousHash : '493131e09c069645c82795c96e4715cea0f5558be514b5096d853a5b9899154a',
hash : '97aa3cb5052615d60ff8e6b41bef606562588c4874f011970ac2f218e2f0f4a8' },
Block {
timestamp : 1637-09-18 08:55:54,
data : 'More Transaction Data...',
previousHash : '97aa3cb5052615d60ff8e6b41bef606562588c4874f011970ac2f218e2f0f4a8',
hash : 'e10e020f832e46c2b60e1c3c0412bd370b2fde5f0f782c16eb87d0313ea0d3a3' } ]
Blockchain Articles
Reflections on the Blockchain by Rufus Pollock (Open Knowledge Foundation), July 2016 -- The DAO: Code is not Law – and It’s Dangerous to Think So ++ The Internet changed the world - surely the Blockchain will too? ++ Gold-rush or Internet-rush? ++ Governance Matters in Bitcoin ++ The Myth of a Costless, Ownerless Network ++ Lessons from History
On the Dangers of a Blockchain Monoculture by Tony Arcieri, January 2016 -- The Bitcoin blockchain: the world's worst database ++ Next-generation protocols ++ Decentralized ledger protocols ++ Bitcoin-NG ++ Blockchain! Blockchain! Blockchain! ++ The great decentralized database in the sky
I Don’t Believe in Blockchain by Tim Bray, May 2017
Minimum Viable Blockchain by Ilya Grigorik, May 2014 -- Securing transactions with triple-entry bookkeeping ++ Securing transactions with PKI ++ Balance = Σ(receipts) ++ Multi-party transfers & verification ++ Double-spending and distributed consensus - Requirements for a distributed consensus network; Protecting the network from Sybil attacks; Proof-of-work as a participation requirement ++ Building the minimum viable blockchain - Adding "blocks" & transaction fee incentives; Racing to claim the transaction fees; Resolving chain conflicts; Blocks are never final ++ Properties of the (minimum viable) blockchain
Blockchains by analogies and applications: How blockchain compares to Git, Raft, and other technologies. by Kieren James-Lubin, January 2016 -- Blockchains are databases ++ Understanding transactions ++ Persistent, replicated databases (related technology: Git) ++ Peer-to-peer networks (related technology: BitTorrent) ++ Distributed consensus (related technology: distributed databases, Raft) ++ Minting new coins (mining) ++ Embedded identities (related technology: TLS) ++ Smart contracts: Like SQL expressions & triggers ++ What can we really do with blockchains?
Blockchain Books
Attack of the 50 Foot Blockchain: Bitcoin, Blockchain, Ethereum & Smart Contracts by David Gerard, London, 2017 -- What is a bitcoin? ++ The Bitcoin ideology ++ The incredible promises of Bitcoin! ++ Early Bitcoin: the rise to the first bubble ++ How Bitcoin mining centralised ++ Who is Satoshi Nakamoto? ++ Spending bitcoins in 2017 ++ Trading bitcoins in 2017: the second crypto bubble ++ Altcoins ++ Smart contracts, stupid humans ++ Business bafflegab, but on the Blockchain ++ Case study: Why you can’t put the music industry on a blockchain
Mastering Bitcoin - Programming the Open Blockchain 2nd Edition, by Andreas M. Antonopoulos, 2017 - FREE (Online Source Version) -- What Is Bitcoin? ++ How Bitcoin Works ++ Bitcoin Core: The Reference Implementation ++ Keys, Addresses ++ Wallets ++ Transactions ++ Advanced Transactions and Scripting ++ The Bitcoin Network ++ The Blockchain ++ Mining and Consensus ++ Bitcoin Security ++ Blockchain Applications

BEWARE: Bitcoin is a gigantic ponzi scheme¹. To the moon!? The new gold standard!? Do NOT "invest" trying to get-rich-quick HODLing. Why not? The bitcoin code is archaic and out-of-date. Burn, baby, burn! Proof-of-work / waste is a global energy environmental disaster using 300 kW/h per bitcoin transaction (!) that's about 179 kilograms of CO₂ emissions². Programmable money (or the internet of value) for all future generations with (bitcoin) script without loops and jumps (gotos) and all "stateless"!? LOL.
²: Assuming let's say 0.596 kilograms of CO₂ per kW/h (that's the energy efficiency in Germany) that's about 179 kilograms of CO₂ per bitcoin transaction (300 kW/h × 0.596 kg). For more insights see the Bitcoin Energy Consumption Index.
Programming Bitcoin from Scratch by Jimmy Song, 2019 - FREE (Online Source Version) -- Chapter 6 - Script - How Script Works • Example Operations • Parsing the Script Fields • Combining the Script Fields • Standard Scripts • p2pk • Problems with p2pk • Solving the Problems with p2pkh • Scripts Can Be Arbitrarily Constructed • Conclusion ++ Chapter 8 - Pay-to-Script Hash - Bare Multisig • Coding OP_CHECKMULTISIG • Problems with Bare Multisig • Pay-to-Script-Hash (p2sh) • Coding p2sh • Conclusion ++ Chapter 13 - Segregated Witness - Pay-to-Witness-Pubkey-Hash (p2wpkh) • p2wpkh Transactions • p2sh-p2wpkh • Coding p2wpkh and p2sh-p2wpkh • Pay-to-Witness-Script-Hash (p2wsh) • p2sh-p2wsh • Coding p2wsh and p2sh-p2wsh • Other Improvements • Conclusion
Programming Bitcoin Script Transaction (Crypto) Contracts Step-by-Step ( Beta / Rough Draft ) by Gerald Bauer et al, 2019 - FREE (Online Version) -- Let's start with building your own bitcoin stack machine from zero / scratch and let's run your own bitcoin ops (operations)...
Programming Blockchains in Ruby from Scratch Step-by-Step Starting w/ Crypto Hashes... ( Beta / Rough Draft ) by Gerald Bauer et al, 2018 - FREE (Online Version) -- (Crypto) Hash ++ (Crypto) Block ++ (Crypto) Block with Proof-of-Work ++ Blockchain! Blockchain! Blockchain! ++ Blockchain Broken? ++ Timestamping ++ Mining, Mining, Mining - What's Your Hash Rate? ++ Bitcoin, Bitcoin, Bitcoin ++ (Crypto) Block with Transactions (Tx)
Mastering Ethereum - Building Contract Services and Decentralized Apps on the Blockchain -
by Andreas M. Antonopoulos, Gavin Wood, 2018 - FREE (Online Source Version)
What is Ethereum ++
Introduction ++
Ethereum Clients ++
Ethereum Testnets ++
Keys and Addresses ++
Wallets ++
Transactions ++
Contract Services ++
Tokens ++
Oracles ++
Accounting & Gas ++
EVM (Ethereum Virtual Machine) ++
Consensus ++
DevP2P (Peer-To-Peer) Protocol ++
Dev Tools and Frameworks ++
Decentralized Apps ++
Ethereum Standards (EIPs/ERCs)
Building Decentralized Apps on the Ethereum Blockchain by Roberto Infante, 2018 - FREE chapter 1 -- Understanding decentralized applications ++ The Ethereum blockchain ++ Building contract services in (JavaScript-like) Solidity ++ Running contract services on the Ethereum blockchain ++ Developing Ethereum Decentralized apps with Truffle ++ Best design and security practice
Programming Crypto Blockchain Contracts Step-by-Step Book / Guide ( Beta / Rough Draft ) by Gerald Bauer et al, 2019 - FREE (Online Version) -- Let's Start with Ponzi & Pyramid Schemes. Run Your Own Lotteries, Gambling Casinos and more on the Blockchain World Computer...
Programming Cryptocurrencies and Blockchains in Ruby ( Beta / Rough Draft ) by Gerald Bauer et al, 2018 - FREE (Online Version) @ Yuki & Moto Press Bookshelf -- Digital $$$ Alchemy - What's a Blockchain? - How-To Turn Digital Bits Into $$$ or €€€? • Decentralize Payments. Decentralize Transactions. Decentralize Blockchains. • The Proof of the Pudding is ... The Bitcoin (BTC) Blockchain(s) ++ Building Blockchains from Scratch - A Blockchain in Ruby in 20 Lines! A Blockchain is a Data Structure • What about Proof-of-Work? What about Consensus? • Find the Lucky Number - Nonce == Number Used Once ++ Adding Transactions - The World's Worst Database - Bitcoin Blockchain Mining • Tulips on the Blockchain! Adding Transactions ++ Blockchain Lite - Basic Blocks • Proof-of-Work Blocks • Transactions ++ Merkle Tree - Build Your Own Crypto Hash Trees; Grow Your Own Money on Trees • What's a Merkle Tree? • Transactions ++ Central Bank - Run Your Own Federated Central Bank Nodes on the Blockchain Peer-to-Peer over HTTP • Inside Mining - Printing Cryptos, Cryptos, Cryptos on the Blockchain ++ Awesome Crypto ++ Case Studies - Dutch Gulden • Shilling • CryptoKitties (and CryptoCopycats)
Blockchain for Dummies, IBM Limited Edition by Manav Gupta, 2017 - FREE (Digital Download w/ Email) -- Grasping Blockchain Fundamentals ++ Taking a Look at How Blockchain Works ++ Propelling Business with Blockchains ++ Blockchain in Action: Use Cases ++ Hyperledger, a Linux Foundation Project ++ Ten Steps to Your First Blockchain application
Get Rich Quick "Business Blockchain" Bible - The Secrets of Free Easy Money, 2018 - FREE -- Step 1: Sell hot air. How? ++ Step 2: Pump up your tokens. How? ++ Step 3: Revolutionize the World. How?
Best of Bitcoin Maximalist - Scammers, Morons, Clowns, Shills & BagHODLers - Inside The New New Crypto Ponzi Economics by Trolly McTrollface, et al, 2018 - FREE
Crypto Facts - Decentralize Payments - Efficient, Low Cost, Fair, Clean - True or False? by Nouriel Roubini, David Gerard, et al, 2018 - FREE
Crypto is the Mother of All Scams and (Now Busted) Bubbles - While Blockchain Is The Most Over-Hyped Technology Ever, No Better than a Spreadsheet/Database by Nouriel Roubini, 2018 - FREE
IslandCoin White Paper - A Pen and Paper Cash System - How to Run a Blockchain on a Deserted Island by Tal Kol -- Motivation ++ Consensus ++ Transaction and Block Specification - Transaction format • Block format • Genesis block ++ References
Blockchain (Lite) Crypto Hash Libraries
Ruby
blockchain.lite (github: openblockchains/blockchain.lite.rb, gem: blockchain-lite) - build your own blockchain with crypto hashes - revolutionize the world with blockchains, blockchains, blockchains one block at a time
```ruby require 'blockchain-lite'
b0 = Block.first( "Genesis" ) b1 = Block.next( b0, "Transaction Data..." ) b2 = Block.next( b1, "Transaction Data......" ) b3 = Block.next( b2, "More Transaction Data..." )
blockchain = [b0, b1, b2, b3]
pp blockchain
```
will pretty print (pp) something like:
[#<Block:0x1eed2a0
@timestamp = 1637-09-15 20:52:38,
@data = "Genesis",
@previous_hash = "0000000000000000000000000000000000000000000000000000000000000000",
@hash = "edbd4e11e69bc399a9ccd8faaea44fb27410fe8e3023bb9462450a0a9c4caa1b">,
#<Block:0x1eec9a0
@timestamp = 1637-09-15 21:02:38,
@data = "Transaction Data...",
@hash = "eb8ecbf6d5870763ae246e37539d82e37052cb32f88bb8c59971f9978e437743",
@previous_hash = "edbd4e11e69bc399a9ccd8faaea44fb27410fe8e3023bb9462450a0a9c4caa1b">,
...
JavaScript
blockchain.lite (github: openblockchains/blockchain.lite.js, npm: blockchain-lite) - build your own blockchain with crypto hashes - revolutionize the world with blockchains, blockchains, blockchains one block at a time
```js const Blocks = require( "blockchain-lite" )
// use basic block let Block = Blocks.basic
let b0 = Block.first( 'Genesis' ) let b1 = Block.next( b0, 'Transaction Data...' ) let b2 = Block.next( b1, 'Transaction Data......' ) let b3 = Block.next( b2, 'More Transaction Data...' )
let blockchain = [b0, b1, b2, b3]
console.log( blockchain ) ```
will log something like:
[ Block {
timestamp: 2017-09-25 17:03:38,
data: 'Genesis',
previousHash: '0000000000000000000000000000000000000000000000000000000000000000',
hash: '08f4fa71628c5bc6b430228738bc8c41afaf508ece0b1cf9c9cac53d02e11829' },
Block {
timestamp: 2017-09-25 17:13:38,
data: 'Transaction Data...',
previousHash: '08f4fa71628c5bc6b430228738bc8c41afaf508ece0b1cf9c9cac53d02e11829',
hash: '740a4aeb3441484c96d1e7f63d31b716220ccee3b6fe94547cae2afbb6010626' },
Block {
timestamp: 2017-09-25 17:23:38,
data: 'Transaction Data......',
previousHash: '740a4aeb3441484c96d1e7f63d31b716220ccee3b6fe94547cae2afbb6010626',
hash: '28b6892a069e2ff7f1c3128ab495d7cd9b9b1636a51a7f69db93a14b1ee6b1a7' },
Block {
timestamp: 2017-09-25 17:33:38,
data: 'More Transaction Data...',
previousHash: '28b6892a069e2ff7f1c3128ab495d7cd9b9b1636a51a7f69db93a14b1ee6b1a7',
hash: '4cc0329b2c0cb32e0451fa3179bd944d4cd0fcf410939172f979e9fd2aa9f5f3' } ]
Git, Git, Git - The Stupid Content Tracker with Crypto Hashes
Everything is local. Distributed is the new centralized.

Quotes - Blockchains and Git
Yep, that's the joke. Nobody has been able to explain to me how the "blockchain" buzzword is significantly different to "git repo". -- Yaakov
But if you said "let's build a currency where all transactions are stored in a git repo" you wouldn't be taken seriously for even 24 hrs. -- Yaakov
Soon explaining git like "a git repo is like a blockchain with commits instead of blocks". -- Nicolás Berger
"A local branch is like a state channel. It can be pushed and merged into the master blockchain at any moment." -- Nicolás Berger
The #Blockchain has changed the world. Here I make the argument that the #Blockchain is just like #git. -- Jackson Kelley
git merge [-m REF] [-g BLOB] --pushMerge and push all signed commits to the blockchain. -- Git Commands
Books
Learn Enough Git to Be Dangerous by Michael Hartl - FREE (Online Version) -- Getting started ++ Backing up and sharing ++ Intermediate workflow ++ Collaborating ++ Conclusion ++ Advanced setup
Pro Git by Scott Chacon and Ben Straub, 2nd Edition, 2014 - FREE (Online Version) -- Getting Started ++ Git Basics ++ Git Branching ++ Git on the Server ++ Distributed Git ++ GitHub ++ Git Tools ++ Customizing Git ++ Git and Other Systems ++ Git Internals ++ A1: Git in Other Environments ++ A2: Embedding Git in your Applications ++ A3: Git Commands
Git gets easier once you get the basic idea that branches are homeomorphic endofunctors mapping submanifolds of a Hilbert space. -- Anonymous
Open Distributed Databases on Git
football.db - open public domain football datasets (incl. clubs, national teams, leagues, match schedules, etc.)
world.db - open public domain world (country) datasets
beer.db - open public domain beer & brewery datasets
Add a beer transaction to the #blockchain on #git and win a free Wiener Lager beer! Cheers. Prost. -- Gerald Bauer @ Austria Codes
Open Distributed (Hyper) Ledger Books on Git
Shilling (or Schilling) - Shilling on the Blockchain! - Rock-Solid Alpine Dollar from Austria
Tulips - Tulips on the Blockchain! - Learn by Example from the Real World (Anno 1637) - Buy! Sell! Hold! Enjoy the Beauty of Admiral of Admirals, Semper Augustus, and More
Classic Tulip Mania
A period in the Dutch Golden Age during which contract prices for bulbs of the recently introduced tulip reached extraordinarily high levels and then dramatically collapsed in February 1637.

Quotes - Blockchains are the next Internets / Tulips
People who compare digital tokens to tulips are essentially saying digital tokens are a bubble backed by nothing but pure hype and speculation.
What they fail to understand is that tulips come from dirt, not a blockchain.
And as we all know, blockchain is possibly the best technological innovation since the internet. It will have a tremendous impact on global business and society in general. -- TulipToken
Books
Tulipomania: The Story of the World's Most Coveted Flower & the Extraordinary Passions It Aroused by Mike Dash, 2001 -- A Mania for Tulips ++ The Valley of Tien Shan ++ Within the Abode of Bliss ++ Stranger from the East ++ Clusius ++ Leiden ++ An Adornment to the Cleavage ++ The Tulip in the Mirror ++ Florists ++ Boom ++ At the Sign of the Golden Grape ++ The Orphans of Wouter Winkel ++ Bust ++ Goddess of Whores ++ At the Court of the Tulip King ++ Late Flowering
Tulipmania: Money, Honor, and Knowledge in the Dutch Golden Age by Anne Goldgar, 2007 -- Something Strange ++ Art & Flowers ++ Bloemisten ++ Grieving Money ++ Bad Faith ++ Cabbage Fever ++ Glossary ++ A Note on Money

Breaking News: CryptoKitties (Yes, Cute Little Cartoon Cats) on the Blockchain!
Collectible. Breedable. Adorable.
Collect and breed digital cats. Start meow. Buy! Sell! Hold!
Learn more @ cryptokitties.co

Latest (and Greatest) Investment Opportunity!
Blockchain has unlocked the magic of digital scarcity, and combining that with the power of making the digital goods persistent gives them a potential value that is only limited by how much prestige a wealthy person might place on ownership of the item.
-- Justin Poirier
All I want for Christmas is a CryptoKitty.
I got a fever. And the only prescription is more CryptoKitties.
My Gen 7 CryptoKitty #104375. The Future is Meow.

- Fabulous Persian Spock Gerbil Gold Cottoncandy - Extremely rare gen 5 swift virgin | 2.9 ETH
- Rarity: 0.00264% Gen 5 JAGUAR FABULOUS GOLD DALI!! VIRGIN!
- Rarity: 0.0015% Princess Bubblegum is now for sale! Gen 12 | Brisk | Virgin | Chartreux | Bubblegum | Otaku | Emeraldgreen | Saycheese | Mauveover | Spock - Starts ETH 20/Ends ETH 10
- Gold ducat, Gen 5, Virgin, Swift. Very cheap
- Cheap Gen 1 cute kittie with rare genes! Only 0.125 ETH
- UNIQUE Virgin Peach Googly Gold Mauveover gen:2 cooldown:1 0.87992% RARE
- SUPER CHEAP: Gerbil, Ragdoll, Scarlet, Chestnut, Cotton Candy!!! 0.02 ETH (~$14)
- I'm giving away a Gen 1 FAST Gold for free...
Awesome CryptoKitties (and CryptoCopycats)

A collection about Awesome CryptoKitties (Yes, Cute Little Cartoon Cats) on the Blockchain! and CryptoCopycats - digital collectibles secured on a distributed public databases w/ crypto hashes. Are CryptoPuppies the new CryptoKitties? Learn by Example from the Real World (Anno 2017) - Buy! Sell! Hodl!
More @ cryptocopycats/awesome-cryptokitties

Events, Meetups, Orgs
Revolutionize the world one country at a time. Blockchainers of the world, unite!
- Blockchain Austria • Blockkette Österreich -- distributed centralized page for blockchain meetups & orgs in Austria (Central Europe)
Awesome Awesomeness
A curated list of awesome lists.
- Blockchain Stuff -- a curated list of blockchain and general cryptocurrency resources
- Awesome Blockchain by Igor Barinov et al -- a curated list of the bitcoin blockchain services
- Awesome Blockchain by Tim Reznich et al -- a curated list of blockchain services and exchanges
- Awesome Blockchain by
istinspringet al -- a curated list of awesome projects and services based on blockchain technology - Awesome Coins by Kenneth Reitz et al -- a guide to crypto-currencies and their algos
- Awesome CryptoKitties (and CryptoCopycats) by Gerald Bauer et al -- a curated list about the awesome crypto kitties and copycats
- Awesome Git by Dick Tang et al -- a curated list of amazingly awesome Git tools, resources and shiny things
- Awesome by Sindre Sorhus et al -- a curated list of awesome lists
Meta
License

The awesome list is dedicated to the public domain. Use it as you please with no restrictions whatsoever.
₿ Awesome Crypto Currency Tools & Algorithms
From Wikipedia—
A cryptocurrency is a digital asset designed to work as a medium of exchange using cryptography to secure the transactions and to control the creation of additional units of the currency.
Many algorithms are used in different crypto–currencies. This document references which algorithms are used in crypto-currencies, and provide a nice list of helpful services and utilities for managing coins.
So, Before We Begin…
This "coin" stuff may be confusing if you are not familiar with algorithms and data structures. Let me explain what I know so far —
There are many, many coins. People like to trade them, not unlike stocks or Pokémon cards. People also mine them, using their home computers or specialized hardware.
Coins are stored in wallets which can be hosted online, on your local computer, or on a sheet of paper.
It is hard to mine a coin on your own, and is like gambling, so people usually opt to join a pool (which typically use the stratum protocol to coordinate) — this rewards you for your work, even if you didn't find anything because you helped contribute with thousands of other people, some of whom did find blocks. The blocks are then split up, based on the pool's rules.
Some people rent hashing power from farms and either play the "blockchain lottery", trying to find blocks of coins on their own, or they point the farm at a pool, like a typical home miner — except they have a tremendously high amount of computational power available to them, if they're willing to pay for it.
Hope that helps clear things up.
☤ Support Causes You Care About
- Wikileaks BTC:
1HB5XMLmzFVj8ALj6mfBsbifRoD4miY36v - Internet Archive BTC:
1Archive1n2C579dMsAu3iC6tWzuQJz8dN - The Pirate Bay BTC:
129TQVAroeehD9fZpzK51NdZGQT4TqifbG - xkcd BTC:
14Tr4HaKkKuC1Lmpr2YMAuYVZRWqAdRTcr - this repo BTC:
1Me2iXTJ91FYZhrGvaGaRDCBtnZ4KdxCug
☤ Coin Market Tools & Utilities
- Coinbin.org — Human–friendly API for quickly getting coin data (exchange rates, predictions, &c.)
- List of All Known Coins
/coins - BTC Current Value
/btc - BTC Daily Historical Value
/btc/history - BTC / ETH Exchange Rate
/btc/to/eth - 20.01 BTC Value
/btc/20.01 - 42 ETH Value in BTC
/eth/42/to/btc - Supports all crypto–currencies.
- List of All Known Coins
- CoinMarketCap — Shows all currencies on a real-time dashboard.
- ~~CoinScanner.co — Gives you multiple trade routes from 1 crypto to another.~~
- The Coin Perspective — Helps you put different coins in perspective, comparing marketcaps, supplies and prices.
☤ Reading Material
- Overview of Cryptocurrencies — GitHub Repo.
- Map of Coins – Explore the visualized history of the cryptocurrencies, from their whitepapers up to present days.
- A massive collection of white papers
- Mastering Bitcoin (ebook)
- Binance Academy — Open access education provided by Binance.
- Bitcoin Developer Reference
- Blockchain for humans — Ultra-simplified blockchain explanation (in construction).
- r/CryptoCurrency — Official subreddit about crypto-currencies and crypto-assets.
- Golden Cryptocurrency and Blockchain Cluster - a cluster of topic pages on cryptocurrency and blockchain.
- Publications
- Cryptoeconomics / The team at cryptoeconomics.com.au
- Minessence / Vinny Lingham, Co-founder & CEO of Civic.com
- CryptoOracle / Lou Kerner
- CryptoCurrencyHub
- Build Blockchain
- Hackernoon's
- Blockchain
- Bitcoin
- Coin & Crypto
- Daniel Jeffries
☤ Coin Mining Pools
Here's a list of WhatToMine.
- #: https://www.nicehash.com/ — Mine any algo (optimized for your GPU) & get paid in BTC.
- BTC: https://pool.bitcoin.com/
- ETH: https://eth.nanopool.org/
- SC: https://sia.nanopool.org/
- PASC: https://pasc.nanopool.org/
- XMR: https://xmr.nanopool.org/
- ZEC: https://zec.nanopool.org/
- ETC: https://etc.nanopool.org/
- ZCL: https://2miners.com/zcl-mining-pool
- ZEN: https://2miners.com/zen-mining-pool
- ZEC: https://2miners.com/zec-mining-pool
☤ Hashing Power for Rent
- NiceHash — Supports all popular algos, pay in BTC for raw throughput.
- Bitcoin.com Pool — I've heard good things.
- BitMain Hosted — Looks complicated and sketchy, but they offer hosted ASIC solutions.
☤ Coin Wallets
Hosted Coin Wallets
Notice: the coin community frowns upon use of these services, as you are not in direct control of your coins — in fact, you don't own them at all — the service does — much like the way a standard bank operates.
Actual Hosted Coin Wallets:
Coin Debit Cards
Physical Coin Wallets
- Sia Paper Wallet
- WalletGenerator.net
- Cryptosteel — Made of steel!
☤ Coin Exchanges
- Binance — Exchange the world.
- Cryptopia — Wallets for all currencies, trading to/from all currencies.
- Shapeshift — The fastest exchange on Earth.
- Bittrex — Wallets for all currencies, trading to/from all currencies.
- Qvolta — Sell and buy crypto assets around the world for local payment methods.
- InstaEx - Instant Cryptocurrency Exchange.
- ExchangeRates.Pro — Price comparison of exchanges worldwide, including the P2P market.
☤ Universal GUI Apps
- Sia UI — SC wallet, file hosting, storage.
- LBRY — LBRY wallet, media consumption & publishing platform.
- DeBank - DeFi wallet, view assets and debts in Ethereum DeFi projects.
☤ Windows GUI Apps
- NiceHash Miner — Resells your GPU/CPU to miners for profit! Benchmarks all algos against your hardware, and automatically picks the most profitable configuration (adjustable).
- MinerGate - Mine the most profitable cryptocurrency.
☤ MacOS GUI Apps
- MacMiner — Wraps bfgminer, cgminer, and sgminer in a GUI.
☤ MacOS CLI Apps
- bfgminer — Modular ASIC/FPGA miner written in C, featuring overclocking, monitoring, fan speed control and remote interface capabilities.
- cgminer — ASIC and FPGA miner in C for Bitcoin.
- sgminer — Scrypt GPU miner.
- nheqminer — Equihash CPU & GPU miner.
☤ Recommended Hardware
- NVidia GTX 1080 TI OC — The most powerful consumer graphics card in the world.
- Asrock H110 Pro BTC+ Mining Motherboard — Can apparently host 12x PCI-E GPUs.
☤ Cool Coin/Blockchain Stuff
- Bit — Python’s fastest Bitcoin library with an API allowing transactions to be made in only 3 lines of code.
- bcoin — Bitcoin fullnode implementation written entirely in Node.js that you can even run in a browser, includes wallet, mempool, chain, and mining.
- BTC Mempol and Fee Explorer
- Tezos — Self-healing blockchain.
- Tendermint — Byzantine fault-tolerant replicated state machines in any programming language.
- Cosmos — Network and a framework for interoperability between blockchains.
- URI scheme for Blockchain exploration
- Blockply — Collection of the most interesting and outstanding blockchain projects
- Blockchain demo — Web-based demonstration of blockchain concepts.
☤ Algos supported by NiceHash Stratum Proxy
Scrypt(Litecoin / LTC)SHA256(Bitcoin / BTC)ScryptNF(Scrypt-Adaptive-Nfactor) (GPU Coin, GPUC)X11(Dash / Darkcoin, Dashcoin, ASIC-Resistant)X13(MaruCoin / MARU) (CPU/GPU)Keccak(MaxCoin / MAX)X15(HTML5 Coin, HTML5)Nist5(Talkcoin, TAC)NeoScrypt(Phoenixcoin (PXC), Imperialcoin (IPC), Feathercoin (FTC), UFOcoin (UFO), Guncoin (GUN), Bollywoodcoin (BDC), Orbitcoin (ORB), Halcyon (HAL))Lyra2RE(VertCoin / VTC, CryptoCoin)WhirlpoolX(Vanillacoin / VNL)Qubit(QuibitCoin / Q2C)Quark(QRK)Axiom(Axiom Coin / AXIOM)Lyra2REv2(VertCoin / VTC)ScryptJaneNf16(Diamond / DMD)Blake256r8(Blake Coin / BLC)Blake256r14(Blake Coin / BLC)Blake256r8vnl(Blake Coin / BLC)Hodl(HodlCoin / HODL)DaggerHashimoto(Ethereum / ETH)Decred(DCR)CryptoNight(XCN, CPU-only)Lbry(LBC)Equihash(Zcash / XEC, ZClassic, HUSH, Komodo)Pascal(PASC)X11Gost(SIBCoin / SIB)Sia(SC)Blake2s (NevaCoin, Netko Coin, Verge, TajCoin)Skunk(Signatum Coin / SIGT)
☤ Every Active Coin, Ranked
As of 2017-08-23:
btc eth xrp ltc etc xem miota dash bts strat xmr zec gnt bcn waves steem sc icn xlm bcc lsk doge rep ans fct game ardr gno maid dgb dcr kmd gbyte bat nxt dgd 1st veri mgo usdt sngls nmr sys btcd pivx ant ubq mcap emc ppc ppy ark round lkk rlc rdd sjcx qrl mln xas lbc amp wings nxs leo nmc xcp xvg bay edg blk omni myst xzc nlg via burst cfi vtc cloak mona xaur eac dice grc ybc block obits nav vsl trst pot hmq exp gup tkn bash xdn edr ioc enrg rads note nxc shift moon wdc unity xel qau taas bnt xbc sky ion snt agrs neos qrk zrc vrc dbix storj fun eos sls mco soar swt dbic dct adt sib pay draco chc mtl fair uny plu daxx qtum san grs ppt crw wbb mue safex ter omg plbt net cvc xrl bdl b@ part coe skin plr nvc etp anc bch cmp mny stx ico neo dtb nlc2 gas btm bnb dnt bqx adx lun frst tix dent snm eb3 zrx oax ixt tcc cat
Find this useful?
If you'd like to donate towards my efforts in the open source world, you can use the following wallet addresses, and any contributions (no matter how small) will be deeply appreciated.
- BTC:
1Me2iXTJ91FYZhrGvaGaRDCBtnZ4KdxCug - ETH:
0x1321Ec9c7550a7c44ef3e583930556c6557411d1 - LTC:
Lbyje2eiSMPfE1Ux6BYJuzN9CS7Nj78Hpu - LBC:
bYDCRLb2Pcp1V25sRZs1LJkVnaddsNVCAQ - SC:
f23294ad70d2315f68a3265331508a44cd5363b8365f4ece91efd2365548b8f0760d34a8f884
Or, Say Thanks!
✨🍰✨
Contents
- Platforms
- Exchanges
- Global
- USA
- Canada / Mexico
- Australia / New Zealand
- EU
- India
- China
- Japan / Korea / Other Asia
- CIS
- Middle East / Africa
- Payments / Lending
- Jobs
- Shopping
- Projects
- Games
- Future plans
To propose a project - open issue/PR or contact me via Telegram
Some links are affiliate, so I could keep the list up to date. I marked them as 🍭 You can also support the list directly:
Bitcoin: 1MjC5Htqzd2uJx6eFSuBCh1HT122Gesfpd
Ethereum: 0x78a2C634b844b23e22795EAb1Bd344629f4983c2
Monero: 4B8cnjTaXnADZMJhNVkZtoHNVqBE1Pjavag6Mp54HPmp1FUUUnFteLRbdAMvKDzCoeBE3vY81BZzVNoGBaaPfRhw6jiS3Z1
Platforms
- Bitcoin - the most popular cryptocurrency on Blockchain
- Ethereum - decentralized platform that runs smart contracts with its own cryptocurrency - Ether
- Ethereum classic - continuation of the original Ethereum blockchain - the classic version preserving untampered history, hard forked after DAO hack
- Monero - secure, private, untraceable currency. It is open-source and freely available to all
- Azure blockchain - Blockchain as a Service from Microsoft. Not free 🔐
- IBM blockchain - blockchain network in a cloud environment. Not free 🔐
- Waves - decentralized platform that allows any user to issue, transfer, swap and trade custom tokens directly on the blockchain
- Monax - ecosystem application platform. Sells legally compliant smart contract-based SDKs to accelerate your time to market with sophisticated ecosystem applications.
- Emercoin - distributed blockchain services for business and personal use with its own decentralized DNS system
- NEM - P2P system that provides services like payments, messaging, asset making, and naming system
- Ardor - blockchain-as-a-service platform that will allow people to utilize the blockchain technology of Nxt through the use of child chains
- Decent - blockchain content distribution platform
- Hyperledger - open source collaborative effort created to advance cross-industry blockchain technologies
- Multichain - open platform for blockchain applications
- Stratis - end-to-end solutions for development, testing and deployment of native C# blockchain applications on the .Net framework. Claims to be enterprise ready.
- Counterparty - create and trade any kind of digital token and run smart contracts on blockchain
- Swarm - serverless hosting incentivised peer-to-peer storage and content distribution. The primary objective is to provide a redundant store of Ethereum's public record, store and distribute DAPP code and data, as well as blockchain data
- Chain - enterprise-grade blockchain infrastructure that enables organizations to build financial services from the ground up
- Factom - provides active solutions for compliance, identity, transparent assets, and securities for Enterprise, Government and Non-Profit systems
- Expanse - fault tolerant cloud computer built on blockchain technology that facilitates censorship resistant applications
- Corda - open-source blockchain project, designed for business, that allows you to build interoperable blockchain networks that transact in strict privacy
- Veres One - identity management on blockchain
- Vechain - blockchain-as-a-service
- RSK - Smart contracts for Bitcoin
- ArcBlock - a platform that gives developers everything they need to create, deploy and manage apps, blockchains and decentralized identity for the decentralized web
- Covalent - a unified API bringing visibility to billions of blockchain data points
Exchanges
For other cryptocurrencies, it's best to use their own wallet (usually from their site, i.e. Ethereum or Dash)
I found no way to buy bitcoin anonymously, by adequate rate, outside of US and EU, and for USD or Euros. If you know the way, please contact me here.
List of all main cryptocurrencies and their market cap
Global
- Bitsquare - P2P decentralized exchange
- Localbitcoins - Peer-to-peer bitcoin exchange
- Coinatmradar - list of ATMs
- Lykke - mobile wallet with exchange, works with most credit cards, supports Solarcoin and Chronobank and has a very good exchange rate
- CEX.io - credit card or bank transfer, supports Ether 🍭
- Coinbase - supports Ether 🍭
- Coinmama - cash or cards in almost all countries, supports Ether 🍭
- Bitpanda - supports Ether 🍭
- Kraken 🇪🇺 🇨🇦 🇺🇸 - supports all main cryptocurrencies
- xCoins - credit cards and PayPal are accepted 🍭
- BTC-e - clear and solid exchange, no documents required
- Paxful - P2P exchange with variety of payment options, including credit/debit/gift cards
- Nonstopcoin - buy Bitcoins with Perfect Money, OKPAY, Payeer, AdvCash, BTC-e USD
- BaseFEX - trade cryptocurrency futures with 1 ~ 100x leverage
- Blockchain.info - popular cloud wallet with ability to purchase Bitcoins
- Bitfinex - elegant web trading platform from a few cryptocurrencies
- Bitcoin.de - P2P exchange
- Bitit.gift - instant buy with cards and vouchers 🍭
- Alfacashier - supports many cryptocurrencies 🍭
- Bitmex - BTC trading platform 🍭
- Coinsbank - works with credit cards
- Shapeshift - exchange bitcoin to many altcoins
- Poloniex - cryptocurrency exchange
- Gemini 🇨🇦 🇺🇸 🇬🇧 🇭🇰 🇸🇬 🇰🇷 🇯🇵 - Bitcoin exchange from Winklevoss twins
- GDAX - trading platform on top of Coinbase
- Hit BTC - supports all main cryptocurrencies 🍭
- Changelly - Exchange cryptocurrencies between different wallets 🍭
- Bittrex - supports many cryptocurrencies
- Vaultoro - trade bitcoin and altcoins and physical gold 🍭
- Uphold 🇪🇺 🇺🇸 - work with credit cards, instant virtual cards to spend money and variety of other options
- The Rock Trading - supports all main cryptocurrencies
- Yobit - exchange platform, ability to create own cryptocurrencies and games 🍭
- Exmo - supports a few payment systems (mainly available in CIS) 🍭
- DIGIX - purchase digital gold assets with Ether or Bitcoin
- My Ether Wallet - ether wallet with built-in Ether-BTC exchange
- Wall of Coins - buy and sell btc directly. Works in many countries
- eToro - not only cryptocurrencies, very good UI, CFD (Contracts For Difference). Not available for USA citizens. 🍭
- Luno - works in Europe, Africa and Asia
- InstaEx - Instant Cryptocurrency Exchange, supports 150+ coins.
- Crypto Facilities - FCA regulated Crypto Futures Exchange supporting BTC & XRP
- ExchangeRates.Pro - Bitcoin & 33 cryptocurrencies price comparison in 255 countries: Exchanges, Brokers, P2P Marketplaces
USA
- Libertyx 🇺🇸 - buy BTC from local stores
- Glidera 🇺🇸 - integrated into Mycelium and Airbitz wallets
- ItBit 🇺🇸
- BitQuick 🇺🇸
Canada / Mexico
- Mybtc 🇨🇦 - instant buy with cards and vouchers
- Quickbt 🇨🇦 - buy instant with debit, cash, flexepinin CA
- Bitso 🇲🇽
Australia / New Zealand
EU
- Bitstamp 🇪🇺
- Coinmate 🇪🇺
- Bit2me 🇪🇺 - buy BTC or exchange BTC for cash to any ATM in EU
- Anycoindirect 🇪🇺 🍭
- Bitonic 🇪🇺
- Bitbay 🇪🇺
- Belgacoin 🇪🇺 - no registration
- Bitboat 🇪🇺 - buy BTC with no account required, with cash to ATMs in EU
- Cubits 🇪🇺
- Coinify 🇪🇺
- BTC Direct 🇪🇺
- Happycoins 🇪🇺
- Coinfinity 🇪🇺
- Paymium 🇪🇺
- Coinmotion 🇪🇺
- Cryptopay 🇪🇺
- Spectrocoin 🇪🇺
- Mrcoin 🇪🇺
- Decicoin 🇪🇺
- Cointed 🇩🇪
- Bity 🇨🇭
- Bittiraha 🇫🇮
India
- Unocoin 🇮🇳
- Zebpay 🇮🇳
- Coinsecure 🇮🇳
- Buyucoin 🇮🇳
- BtcxIndia 🇮🇳
- ethexIndia 🇮🇳
- Koinex 🇮🇳
- ThroughBit 🇮🇳
- PocketBits 🇮🇳
China
- Okcoin 🇭🇰 🇨🇳 - one of the biggest BTC exchange.
- BTCC 🇨🇳
- Huobi 🇨🇳
- BTC100 🇨🇳
- CHBTC 🇨🇳
- Dabtc 🇨🇳
- BTC Trade 🇨🇳
- Yunbi 🇨🇳
- Bitbays 🇨🇳
- BTC38 🇨🇳
- Bter 🇨🇳
Japan / Korea / Other Asia
- Coincheck 🇯🇵 🍭
- BitFlyer 🇯🇵
- BTC Box 🇯🇵
- Quoine 🇯🇵 - trading program
- Zaif 🇯🇵
- Korbit 🇰🇷
- BX Thailand 🇹🇭
- Bitcoin.co.id 🇮🇩 🍭
CIS
Middle East / Africa
DEX (Decentralized Exchanges)
- ForkDelta
- IDEX
- Ordermatch - 0x relayer
- Radar Relay - 0x relayer
- Paradex - 0x relayer
- DDEX - 0x relayer
Payments / Lending
- Ecoin - free virtual card in mobile app 🍭
- Bitpay - accept bitcoin, store and spend bitcoin securely, or turn bitcoin into dollars
- Ripple - instant, certain, low-cost international payments
- Circle - peer-to-peer payments with traditional fiat currencies on blockchain
- Tether - fiat currencies on the Bitcoin blockchain
- Bitpesa - send and collect business payments, between Africa and the rest of the world
- Crediblefriends - peer-to-peer lending platform built on Bitcoin that enables anyone to quickly extend lines of credit to all of their trusted friends
- BTC Jam - borrow and lend using Bitcoin
- Bitbond - invest and borrow (mainly for small business) 🍭
- Payscrypt - accept btc/usdt/eth/erc20 payments
Jobs
- reddit.com/r/Jobs4Bitcoins - bitcoin jobs board
- Xbtfreelancer - full-featured freelance platform 🍭
- Bitwage - remote job placement and wage management solutions 🍭
- Freelancer.com - bitcoin jobs on Freelancer
- Indeed.com - bitcoin jobs on Indeed
- Coinality - job board, pay in Bitcoin, Litecoin, and Dogecoin
- Cryptogrind - freelance platform
- Bitgigs - dead-simple job board
- Bitcoin-vacancy - do cryptocurrency related jobs and get paid in cryptocurrencies
- Angel.co - Bitcoin startup jobs
- Rein Project - decentralized freelance market on Bitcoin
- Ethlance - jobs pain in ethereum
- BlockchainJob.co - Find your perfect non-technical role in the Crypto space. Operations, Marketing, UX/UI Design and more.
- Crypto Jobs List - Curated jobs from top verified blockchain companies.
- Cryptocurrency Jobs - Find great jobs at startups that use blockchain technology.
Services
- Purse - buy orders on Amazon in exchange for Bitcoin 🍭
- Nord VPN - secure and fast VPN with good price 🍭
- Mullvad VPN - 5$/month, accepts bitcoin, works fast and smoothly
Projects
- Chronobank - wide-ranging blockchain project, aimed at disrupting the HR/recruitment/finance industries in Uber-like way
- Bitnation - become a world citizen
- Steem - blockchain-based social media platform with reward system
- Solarcoin - global rewards program for solar electricity generation
- Lazooz - decentralized transportation platform, utilising vehicles` unused space to create a variety of smart transportation solutions
- Synereo - blockchain content distribution platform with reward system and goal to change the decentralized future of social networking
- BnkToTheFuture - blockchain crowdfunding platform
- Storj - blockchain end-to-end encrypted, distributed object storage. Free while in beta
- Chronicled - link any physical product to its digital identity on a blockchain
- Tallysticks - automate the invoicing and the invoice financing processes, making it easier, cheaper, faster and more transparent
- Airbitz - single-signon security platform for blockchain apps
- Tokenly - digital representation of your good whether it’s a trading card, song, movie, game, loyalty point, membership, and more
- Loyyal - universal loyalty and rewards platform, built with blockchain and smart contract technology
- Open Bazaar - pear-to-pear marketplace
- Rare Pepe Directory - rare pepes tokens on the blockchain 🐸
- Golem - global, open sourced, decentralized supercomputer that anyone can access
- Ascribe - decentralized content registry for for artists and creators
- Blockai - claim the copyright for your art (mainly photos). Works with instagram
- Crypto-copyright - proof of ownership for 4mBTC
- Stampery - data certification for enterprises
- Everledger - permanent ledger for diamond certification
- Follow my vote - blockchain voting platform
- Borderless - coalition of globally accessible governance services forged out of smart contracts
- Otonomos - setup and govern companies around the world with online control panel
- Democracy Earth - governance in a post nation-state world
- Golos - russian fork of steem.it
- Aragon - disintermediate the creation and maintaince of companies and other organizational structures. Based on Ethereum.
- StarBase - token based global crowdfunding and crowdsourcing platform
- Gnosis - make complex predictions with an easy to use prediction market (Upcoming)
- Melon - Blockchain Software for Asset Management
- BlockVotes - E-voting system based on ring signatures
- RIF OS - Decentralized infrastructure services such as Directory, Payments, Storage, Communications, and Data Gateways.
- LibreSelery - Continuous funding distribution to your project contributors and dependencies. Integrated into Github Actions and Coinbase
- Joys Digital - is a payment service built on the blockchain technology for making payments with digital financial assets (cryptocurrencies, tokens) when paying for goods and services online and in retail within the legal framework of countries where such settlements are made.
Games
- Rollin - provably fair dice game 🍭
- First blood - eSports reward platform
- Coinpalace - classical casino with games on Bitcoin. Not fair chances
- Edgeless - Ethereum smart contract-based casino with 0% house edge (ICO)
DeFi Developer Road Map
Here we collect and discuss the best DeFi & Blockchain researches and tools - contributions are welcome.
Feel free to submit a pull request, with anything from small fixes to translations, docs or tools you'd like to add.
Translations
- [Gujarati](https://github.com/OffcierCia/DeFi-Developer-Road-Map/blob/main/translations/README_guj.md) - [Korean](https://github.com/OffcierCia/DeFi-Developer-Road-Map/blob/main/translations/README_ko.md)
Roadmap
Navigation
| Topic | Instant Link | |:----------------:|---------------------------------------------------------------------------------------------------------------------------| | Basics | Explore | | dApps | Explore | | Frameworks | Explore | | zk-snarks | Explore | | Further Readings | Explore | | Security | Explore | | DeFi | Explore | | ENS | Explore | | NFT | Explore | | Stable Coins | Explore | | General Info | Explore | | Side Chains | Explore | | MEV | Explore | | Tools Collection | Explore | | ETH 2.0 | Explore | | Front End | Explore | | Project Manag. | Explore |
Basics:
- Learn the basics of Distributed Ledger Technology (DLT)
- Bitcoin protocol Explained
- Elliptic Curve Cryptography
- Read Blockchain Explained
- Watch Blockchain - A visual demo
- Watch But how does bitcoin actually work? - 3b1b
- Learn the basics of Computer Science
Ethereum
- Learn the basics of Ethereum
- Ethereum Virtual Machine (EVM): turing complete
- Learn about Wallets, Accounts (EOA), Private/Public Keys
- Learn about transactions, Gas, Metamask
- Ethereum clients/Nodes, Geth
- Infura infrastructure
Smart Contract
- Basics of Smart Contract
- Life Cycle of Smart Contract
- Ethereum Higher Level languages (Solidity, Vyper, LLL, Serpent)
- Compiling, testing, Deploying smart Contracts
- Interacting with smart contracts using web3.js or web3.py
- Read How does Ethereum work, anyway?
- Read this article
- Read the Truffle Documentation / Hardhat Documentation
- Read the Web3 Documentation / Ethers Documentation
- Read Book Mastering Ethereum and watch this channel
- Read Solidity Smart Contract Library and Solidity Base with Tutorial from Zombies
- Read Flash Crash for Cash Cyber Threats in Decentralized Finance
Smart Contract Standards
- ERCs - Ethereum Improvement Proposals
Tokens
- ERC-20 - Token contract for fungible assets.
- ERC-721 - Token standard for non-fungible assets.
- ERC-1155 - Token standard for semi-fungible tokens
- ERC-918 - Mineable Token Standard.
- Token Interaction Checklist
Others
- ERC-165 - Creates a standard method to publish and detect what interfaces a smart contract implements.
- ERC-725 - A standard interface for a simple proxy account.
- ERC-173 - A standard interface for ownership of contracts.
General Development Skills
- Learn GIT
- Create a few repositories on GitHub / GitLab
- Share your code with other people
- know HTTP(S) protocol, request methods (GET, POST, PUT, PATCH, DELETE, OPTIONS)
- Don't be afraid of using Google, Power Searching with Google
- Get familiar with terminal (Linux/Docker), configure your shell (bash, zsh, fish)
- Read a few books about algorithms and data structures, blockchain, Ethereum, solidity
- Do this course Ethereum and Solidity: The Complete Developer's Guide
- Free tutorial Learning Solidity
- Introduction to Smart Contract Development with Solidity and ERC20 Programming
- Tudelft Repo
Try this tools:
- eth-cli - CLI tools.
- REPL - Solidity REPL.
- Remix - Online realtime compiler and runtime.
- gencall-cli - An interractive smart contract encoder and sender from your ABI file
- Optimize Solidity Function Name - Optimize function names to reduce costs
- solc-typed-ast compiler - TypeScript package providing a normalized typed Solidity AST along with the utilities necessary to generate the AST (from Solc) and traverse/manipulate it.
dApps
- Get familiar with tools that you will be using:
Package Managers
IDE's
- Remix IDE
- Remix IDE Desktop Release
- Ethfiddle
- labs.superblock
- Truffle
- Solidity v0.5.3
- Vyper
- Atom
- Etheratom
- Autocomplete Solidity
- Language Solidity
- Vim solidity
- YAKINDU Solidity Tools
- VSCode with Solidity Visual Developer
- vscode-solidity-lang Solidity Semantic Highlighting for VSode. available at vscode marketplace
- MetaMask OpenRCP API Playground - View and Interact with MetaMasks RPC API
#### Practice
- Learn Ethereum development by making a Zombie Game
- Read and make and example: Pet shop tutorial
- Time-locked Wallets: An Introduction to Ethereum Smart Contracts
- The Ultimate ENS and ĐApp Tutorial
- Ultimate Introduction to Ethereum Ðapp Development
- Ethernaut is a Web3/Solidity based wargame for those interested in learning ethereum
- Ethereum and Solidity: The Complete Developer's Guide
- Consensys best practices - This document provides a baseline knowledge of security considerations for intermediate Solidity programmers. It is maintained by ConsenSys Diligence, and the broader Ethereum community.
- Solidity Patterns - A compilation of patterns and best practices.
- Smart Contracts Threats DB - A compilation of the worst patterns.
- ETH.build An Educational Sandbox For Web3
ZK-SNARKs
General info
- ZoKrates - A toolbox for zkSNARKS on Ethereum
- The AZTEC Protocol - Confidential transactions on the Ethereum network, implementation is live on the Ethereum main-net
- Nightfall - Make any ERC-20 / ERC-721 token private - open source tools & microservices
- Proxy Re-encryption (PRE)
- NuCypher Network - A proxy re-encryption network to empower data privacy in decentralized systems
- pyUmbral - Threshold proxy re-encryption cryptographic library
- Fully Homomorphic Encryption (FHE)
- NuFHE - GPU accelerated FHE library
ZK-STARKs
- StarkWare and StarkWare Resources - StarkEx scalability engine storing state transitions on-chain
Frameworks
Truffle Suit
ZeppelinOS
Labs.Superblock
Note: Superblocks is depreciated
Infura (A Gateway to Ethereum)
Other Frameworks
- Frameworks List - Ethereum Frameworks Listing.
- Hardhat - Flexible, extensible and fast Ethereum development environment.
- Brownie - Brownie is a Python framework for deploying, testing and interacting with Ethereum smart contracts.
- Embark - Framework for DApp development
- Waffle - Framework for advanced smart contract development and testing, small, flexible, fast (based on ethers.js)
- Dapp - Framework for DApp development, successor to DApple
- Etherlime - ethers.js based framework for Dapp deployment
- Parasol - [Depreciated] Agile smart contract development environment with testing, INFURA deployment, automatic contract documentation and more. It features a flexible and unopinionated design with unlimited customizability
- 0xcert - JavaScript framework for building decentralized applications
- OpenZeppelin SDK - OpenZeppelin SDK: A suite of tools to help you develop, compile, upgrade, deploy and interact with smart contracts.
- sbt-ethereum - A tab-completey, text-based console for smart-contract interaction and development, including wallet and ABI management, ENS support, and advanced Scala integration.
- Cobra - A fast, flexible and simple development environment framework for Ethereum smart contract, testing and deployment on Ethereum virtual machine(EVM).
- Epirus - Java framework for building smart contracts.
- Ether Jar Java integration library for Ethereum blockchain
- Starport - A CLI tool for building sovereign IBC-enabled blockchains.
- Sign in with Ethereum | SIWE- Workflow to authenticate Ethereum accounts using message signing in order to establish a cookie-based web session that manages user metadata.
- Foundry - A smart contract development toolchain for project compilation, dependency management, testing, deployments, on-chain interactions...
- Solmate - These contracts have been audited but they were not developed with users in mind. They mainly seek to optimize gas and optimizations for smart contract development
Interacting with Smart Contract
Python Ethereum Eco System
Distributed Storage Systems
Test Blockchain Networks
- Ethnode - Run an Ethereum node (Geth or Parity) for development, as easy as
npm i -g ethnode && ethnode. - Ganache - App for test Ethereum blockchain with visual UI and logs
- Kaleido - Use Kaleido for spinning up a consortium blockchain network. Great for PoCs and testing
- Besu Private Network - Run a private network of Besu nodes in a Docker container
- Orion - Component for performing private transactions by PegaSys
- Artemis - Java implementation of the Ethereum 2.0 Beacon Chain by PegaSys
- Cliquebait - Simplifies integration and accepting testing of smart contract applications with docker instances that closely resembles a real blockchain network
- Local Raiden - Run a local Raiden network in docker containers for demo and testing purposes
- Private networks deployment scripts - Out-of-the-box deployment scripts for private PoA networks
- Local Ethereum Network - Out-of-the-box deployment scripts for private PoW networks
- Ethereum on Azure - Deployment and governance of consortium Ethereum PoA networks
- Ethereum on Google Cloud - Build Ethereum network based on Proof of Work
- Infura - Ethereum API access to Ethereum networks (Mainnet, Ropsten, Rinkeby, Goerli, Kovan)
- CloudFlare Distributed Web Gateway - Provides access to the Ethereum network through the Cloudflare instead of running your own node
- Chainstack - Shared and dedicated Ethereum nodes as a service (Mainnet, Ropsten, Rinkeby)
- Alchemy - Blockchain Developer Platform, Ethereum API, and Node Service (Mainnet, Ropsten, Rinkeby, Goerli, Kovan)
- ZMOK - JSON-RPC Ethereum API (Mainnet, Rinkeby, Front-running Mainnet)
- Watchdata - Provide simple and reliable API access to Ethereum blockchain
Test Ether Faucets
- Rinkeby faucet
- Kovan faucet
- Ropsten faucet (MetaMask)
- Goerli faucet
- Universal faucet
- Nethereum.Faucet - A C#/.NET faucet
Front End
UI Components
- Learn React on official website or complete some courses
- React Roadmap
- aragonUI - A React library including Dapp components
- components.bounties.network - A React library including Dapp components
- ui.decentraland.org - A React library including Dapp components
- dapparatus - Reusable React Dapp components
- Metamask ui - Metamask React Components
- DappHybrid - A cross-platform hybrid hosting mechanism for web based decentralised applications
- Nethereum.UI.Desktop - Cross-platform desktop wallet sample
- eth-button - Minimalist donation button
- Rimble Design System - Adaptable components and design standards for decentralized applications.
- 3Box Plugins - Drop in react components for social functionality. Including comments, profiles and messaging.
- brave-ui - List of reusable React components to empower your brave UI
- DApp frontend security - In this article, Author will take a look at security for DApps.
Project management
- Dework | Web3 Trello with token payments, credentials, bounties...
- Wonderverse | Jira alternative with an intuitive task management system that allows DAOs to pay contributors and collaborate in their projects.
Further Readings
Inspired by:
- ETH Dapp Developer Roadmap
- DeFi Defence DAO Tools
- Blockchain Learning Path
- ADF
- DeFi Toolkit
- BlockTools
- SAW List
- Public APIs
- BTC List
- ConsenSys
- EVM Tools
- Solidity Pro
- Zhihu Research Base
- OpenZeppelin - Contracts / Test Helpers + More
- Awesome Ethereum Resource Lists
- Comprehensive Ethereum Developer Resource List
- Smart Contract Learning
- Awesome Cryptoeconomics
- Tudelft Repo
- The Reading List and This repo with Engineering Data List
- Eth Reentrancy Attack Patterns
- Plugin for testing smart contracts
- Solidity function profiler
- Smart Contract Attack Vectors
- DeFi security list
- DeFi Threats Base
- Hacking
- Secureum Bootcamp
- SCSVS
- Smart Contract Inspector
- Blocksec ctfs
- Builder List
- From 0 to Web3.0
Security & Safety:
-
Blockchain Security Roadmap - This article will be laying down a path/roadmap, following which users will easily enter into the field of Blockchain Security together.
-
The Eye of Horus: Spotting and Analyzing Attacks on Ethereum Smart Contracts -Investigation shows that the number of attacks did not necessarily decrease over the past few years, but for some vulnerabilities remained constant.
-
Analysis of Bitcoin Vulnerability to Bribery Attacks Launched Through Large Transactions - In this paper, authors design a novel bribery attack and show that this guarantee can be hugely undermined.
-
Vulnerability of Blockchain Technologies to Quantum Attacks - Here authors analyze the major blockchain-based cryptocurrencies deployed today -- including Bitcoin, Ethereum, Litecoin and ZCash, and determine risk exposure to quantum attacks.
-
BLOCKEYE - Hunting For DeFi Attacks on Blockchain. In this paper, authors proposed BLOCKEYE, a real-time attack detection system for DeFi projects on the Ethereum blockchain.
-
Topological Anomaly Detection in Dynamic Multilayer Blockchain Networks - Authors introduce a new topological perspective to structural anomaly detection in dynamic multilayer networks.
-
Verification of the Incremental Merkle Tree Algorithm with Dafny - Authors present our new and original correctness proof of the algorithm along with the Dafny machine-checkable version.
-
GoHammer Blockchain Performance Test Tool - This tool will help in developing more efficient decentralized systems and will affect decreasing the costs of developing decentralized application projects.
-
EtherClue: Digital investigation of attacks on Ethereum smart contracts - In this work, authors study the problem of post-factum investigation of Ethereum attacks using Indicators of Compromise specially crafted for use in the blockchain.
-
Requirement Analyses and Evaluations of Blockchain Platforms per Possible Use Cases - This document provides a generic model of understanding blockchain and its applications.
-
A Note on Privacy in Constant Function Market Makers - In this note, authors show that privacy is impossible with the usual implementations of CFMMs under most reasonable models of an adversary and provide some mitigating strategies.
-
A Survey of Security Vulnerabilities in Ethereum Smart Contracts - This paper explains eight vulnerabilities that are specific to the application level of BT by analyzing the exploitation case scenarios of these vulnerabilities.
-
An approach to detect Denial of Service Vulnerability in Ethereum Smart Contracts - In this paper, authors propose a framework that combines static and dynamic analysis to detect DoS due to an unexpected revert in ETH Smart Contracts.
-
AGSolT: a Tool for Automated Test-Case Generation for Solidity Smart Contracts - Authors found that AGSolT is capable of achieving high branch overage with both approaches and even discovered some errors in some of the most popular Solidity smart contracts on Github.
-
Temporal-Amount Snapshot MultiGraph for Ethereum Transaction Tracking - Authors propose TASMG to model Ethereum transaction records as a temporal-amount network and then present TAW to effectively embed accounts via their transaction records, which integrates temporal and amount information of the proposed network.
-
Demystifying Cryptocurrency Mining Attacks: A Semi-supervised Learning Approach Based on Digital Forensics and Dynamic Network Characteristics - This paper addresses the detection of crypto mining attacks in a generic network environment using dynamic network characteristics.
-
FASTEN: Fair and Secure Distributed Voting Using Smart Contracts - Authors prove that the probability of privacy breaches is negligibly small. Further, cost analysis of executing FASTEN over Ethereum is comparable to most of the existing cost of elections.
-
Interdependencies between Mining Costs, Mining Rewards and Blockchain Security - This paper studies to what extent the cost of operating a proof-of-work blockchain is intrinsically linked to the cost of preventing attacks, and to what extent the underlying digital ledger security budgets are correlated with the cryptocurrency market outcomes
-
HyperSec: Visual Analytics for blockchain security monitoring - HyperSec, a visual analytics monitoring tool that provides relevant information at a glance to detect ongoing attacks on Hyperledger Fabric.
-
Reentrancy Vulnerability Identification in Ethereum Smart Contracts - In this paper, authors present a framework that combines static and dynamic analysis to detect Reentrancy vulnerabilities in Ethereum smart contracts.
-
A General Framework for the Security Analysis of Blockchain Protocols - This paper presents a parsimonious abstraction sufficient for capturing and comparing properties of many well-known permissionless blockchain protocols.
-
Coinbugs: Enumerating Common Blockchain Implementation-Level Vulnerabilities - The paper is aimed at security testers aiming to start out in blockchain security reviews and blockchain developers as a reference on common pitfalls.
-
Vulnerabilities and Open Issues of Smart Contracts: A Systematic Mapping - This paper conducted a systematic literature mapping identifying initiatives and tools to analyze SCs and how to deal with the identified vulnerabilities.
-
SuMo: A Mutation Testing Strategy for Solidity Smart Contracts - Authors report a first evaluation of SuMo on open-source projects for which test suites were available. The results authors got are encouraging, and they suggest that SuMo can effectively help developers to deliver more reliable smart contracts.
-
(In)Stability for the Blockchain: Deleveraging Spirals and Stablecoin Attacks - The possibility of deleveraging spirals was first predicted in the initial release of this paper in 2019 and later observed in the Black Thursday crisis in Dai in 2020.
-
An Anonymous Trust-Marking Scheme on Blockchain Systems - In this paper, authors propose an anonymous trust-marking scheme on blockchain systems that is universally applicable to any cryptocurrency.
-
A Framework and DataSet for Bugs in Ethereum Smart Contracts - In this paper, to fill the gap, authors first collect as many smart contract bugs as possible from multiple sources and divide these bugs into 9 categories by extending the IEEE Standard Classification for Software Anomalies.
-
A Secure Multi-chains Consensus Scheme Against Diverse Miners Behaviors Attacks in Blockchain Networks. - Experimental results show that PoDT is secure against DMB attacks and more effective than traditional consensus schemes in multi-chains environments.
-
A Survey on Consortium Blockchain Consensus Mechanisms - This paper highilights several state-of-the art solutions in consensus algorithms for enterprise blockchain.
-
Extracting Smart Contracts Tested and Verified in Coq - Authors implement extraction of Coq programs to functional languages based on MetaCoq's certified erasure.
-
Trustless, privacy-preserving blockchain bridges - In this paper, authors present a protocol for facilitating trust-less cross-chain cryptocurrency transfers that preserve privacy of bridge withdrawals.
-
Security checklists for Ethereum smart contract development: patterns and best practices - Authors cover the phases of design, coding, and testing and deployment of the software lifecycle.
-
Dynamic Vulnerability Detection on Smart Contracts Using Machine Learning - In this work authors propose Dynamit, a monitoring framework to detect reentrancy vulnerabilities in Ethereum smart contracts.
-
Targeting the Weakest Link: Social Engineering Attacks in Ethereum Smart Contracts - In this work, authors explore the possibility and existence of new social engineering attacks beyond smart contract honeypots.
-
OptSmart: A Space Efficient Optimistic Concurrent Execution of Smart Contracts - In this paper, authors develop a concurrent miner that proposes a block by executing the AUs concurrently using optimistic Software Transactional Memory systems (STMs).
-
DEFECTCHECKER: Automated Smart Contract Defect Detection by Analyzing EVM Bytecode - Experimental results show that DefectChecker performs much better than these tools in terms of both speed and accuracy.
-
SmartBugs: A Framework to Analyze Solidity Smart Contracts - Authors show how it enables easy integration and comparison of analysis tools by presenting a new extension to the tool SmartCheck that improves substantially the detection of vulnerabilities related to the DASP10 categories Bad Randomness, Time Manipulation, and Access Control (identified vulnerabilities increased from 11% to 24%).
-
Profiling Gas Leaks in Solidity Smart Contracts - In this paper, authors identify a set of 19 Solidity code smells affecting the deployment and transaction costs of a smart contract, and assess the relevance of such smells through a survey involving 34 participants.
-
Securing Parallel-chain Protocols under Variable Mining Power - In this paper, authors consider the design of provably secure parallel-chain protocols which can adapt to such mining power variations.
-
Ethereum SmartContract Vulnerability Detection using Deep Neural Network and Transfer Learning - ESCORT framework enables transfer learning on new vulnerability types with minimal modification of the DNN model architecture and re-training overhead.
-
SCSGuard: Deep Scam Detection for Ethereum Smart Contracts - Experimental results manifest that SCSGuard achieves high accuracy (0.94), precision (0.96\%) and recall (0.98) for both Ponzi and Honeypot scams, and new Phishing smart contracts.
-
Securing Cyber-Physical Systems Through Blockchain-Based Digital Twins and Threat Intelligence - This article focuses on securing CPSs by integrating Artificial Intelligence (AI) and blockchain for intelligent and trusted DTs.
-
A Survey on Blockchain Interoperability: Past, Present, and Future Trends - In this post, authors study blockchain interoperability techniques and solutions, providing a holistic overview of blockchain interoperability, paving the way for systematic research in this domain.
-
SoK: Transparent Dishonesty: front-running attacks on Blockchain - A paper on secure smart contract designs decisions and front-running possibilities on DApps.
-
SoK: Oracles from the Ground Truth to Market Manipulation - A paper that systemizes the design alternatives for oracles, showcases attacks, and discusses attack mitigation strategies.
Web2 cybersecurity
-
TryHackMe: Complete rooms with challenges and puzzles to break, all from the browser - Hands on cybersecurity training with real-world tasks
-
Disclose: Cross-industry and vendor-agnostic standards for best practives in cybersecurity research - Open source maintainers and industry experts providing a central source for assistance, information, and help via templates, tools, data sets...
-
Hack The Box - A Hacker's playground to dynamically and compete against other users in a collaborative ecosystem that promotes hands-on training experience
-
OverTheWire - Set of wargames and challenges offered by a community to learn and practice security concepts in fun wargames.
-
Pentesterlab - Hands-on labs covering different bu classes from basic to advanced.
-
Portswigger labs - Set of web application secrity labs with attached community solutions
-
Vulnhub - Users upload "challenge boxes" that often attempt to gain root access by exploiting known vulnerabilities.
Web3 cybersecurity
-
Ethernaut by OpenZeppelin - A collection of Web3 wargamees inspired by OverTheWire in the context of the Ethereum Virtual Machine (EVM). Each level is a smart contract that needs to be hacked.
-
Damn Vulnerable Defi - An offensive security playground to learn red team cybersecurity in the context of DeFi and smart contracts. Examples include tasks where the users needs to stop the system from working, take out funds from a contract...
-
Damn Vulnerable DeFi | Foundry - Same as Damn Vulnerable DeFi but in the context of the foundry development framework.
Web3 CTF (Capture The Flag)
-
Capture the Ether - Traditional game consisting of a series of categorized challenges where the user earns points after every succesful challenge. The goal is to make the
isComplete()function return true.
DeFI
-
Finematics - Educational videos on DeFi
-
Formal Analysis of Composable DeFi Protocols - In this paper, authors propose a formal process-algebraic technique that models DeFi protocols in a compositional manner to allow for efficient property verification.
-
Transaction Fee Mechanism Design - Authors explain the behavior of fees in blockchains.
-
DeFi-ning DeFi: Challenges & Pathway - Good Retrospective into the beginning of decentralized finance.
-
A theory of Automated Market Makers in DeFi - Authors exploit our theory to formally prove a set of fundamental properties of AMMs, characterizing both structural and economic aspects.
-
From banks to DeFi: the evolution of the lending market - Authors discuss the persisting reliance of DeFi lending on the traditional financial system, and conclude with the outlook of the lending market in the IOV era.
-
On the Just-In-Time Discovery of Profit-Generating Transactions in DeFi Protocols -In this paper, authors investigate two methods that allow them to automatically create profitable DeFi trades.
-
Maximizing Extractable Value from Automated Market Makers - In this paper authors formally characterize rational miners as players which follow an optimal strategy in the mining game.
-
The Decentralized Financial Crisis - In this paper authors explore how design weaknesses and price fluctuations in DeFi protocols could lead to a DeFi crisis.
-
Liquidations: DeFi on a Knife-edge- In order to protect protocols from suffering losses, undercollateralized positions can be liquidated. In this paper, authors present empirical analysis of liquidations on protocols for loanable funds (PLFs).
-
Measuring Asset Composability as a Proxy for DeFi Integration - Authors seek to understand the degree to which this practice may contribute to financial integration on Ethereum by examining transactions in 'composed' derivatives for the assets DAI, USDC, USDT, ETH and tokenized BTC for the full set of 344.8 million Ethereum transactions computed in 2020.
-
Dynamic Curves for Decentralized Autonomous Cryptocurrency Exchanges - Authors propose in this work a new approach to constructing the AMM by proposing the idea of dynamic curves.
-
High-Frequency Trading on Decentralized On-Chain Exchanges - In this work authors formalize, analytically exposit and empirically evaluate an augmented variant of front-running: sandwich attacks, which involve front- and back-running victim TXs.
-
Flashot - A Snapshot of Flash Loan Attack on DeFi Ecosystem.
-
DeFiRanger - Detecting Price Manipulation Attacks on DeFi Applications.
-
Attacking the DeFi Ecosystem with Flash Loans for Fun and Profit - Flash Loans. DeFi. Classic.
-
SoK: Decentralized Finance (DeFi) - In this Systematization of Knowledge (SoK), authors delineate the DeFi ecosystem along its principal axes. SCSGuard: Deep Scam Detection for Ethereum Smart Contracts
-
Empirical Evidence from four Governance Token Distributions - This paper provides a framework to quantify decentralization of governance power among blockchain applications.
-
The Adoption of Blockchain-based Decentralized Exchanges - Authors show that liquidity providers lose token value if exchange rates are volatile due to the order execution mechanism of the blockchain-based exchange.
-
An analysis of Uniswap markets -One of the best studies on Uniswap DEX activity, authors started researching in 2019 and recently released fresh 2021 analysis.
-
Finance 4.0: Design principles for a value-sensitive cryptoecnomic system to address sustainability - Authors provide new insights on designing crypto systems.
-
Behavior of Liquidity Providers in Decentralized Exchanges - Authors aim to understand how liquidity providers react to market information and how they benefit from providing liquidity in DEX.
-
Cyclic Arbitrage in Decentralized Exchange Markets - Good Read. This paper suggests that with the smart contract technology and the replicated state machine setting of Ethereum, arbitrage strategies are easier implemented in DEXes than in CEX.
-
SoK: Oracles from the Ground Truth to Market Manipulation - In this SoK, authors systemize the design alternatives for oracles, showcase attacks, and discuss attack mitigation strategies.
-
Composing Networks of Automated Market Makers - This paper proposes a mathematical model for AMM composition.
-
Blockchain Oracle Design Patterns - In this paper, authors will study and analyze blockchain oracles with regard to how they provide feedback to the blockchain and smart contracts.
-
CeFi vs. DeFi - Comparing Centralized to Decentralized Finance - In this work, authors systematically analyze the differences between CeFi and DeFi, covering legal, economic, security, privacy and market manipulation. Authors also provide a structured methodology to differentiate between a CeFi and a DeFi service.
Ethereum Name Service
- Ethereum Name Service: the Good, the Bad, and the Ugly - Yet, no existing work has studied this emerging system, the security issues and misbehaviors in ENS. Authors present the first study of ENS by analyzing millions of event logs related to ENS.
Non-Fungible Token (NFT):
-
Mapping the NFT revolution - Market trends, trade networks and visual features.
-
Fairness in ERC token markets - A Case Study of CryptoKitties.
-
Non-Fungible Token: Overview, Evaluation, Opportunities and Challenges - In this technical report, authors explore the NFT ecosystems in several aspects.
-
Cryptoart - Top artists and artworks.
-
CryptoArtPulse - Live View.
-
PumpMyGas - Live estimates of gas fees on all major NFT marketplaces.
-
NonFungible Tracker - NFT tracker.
-
NFTS TOP - NFT Ranking.
-
Networks of Ethereum Non-Fungible Tokens: A graph-based analysis of the ERC-721 ecosystem
Stable-Coins:
-
Stablecoins 2.0 - Authors seek to provide a sound foundation for stablecoin theory, with a risk-based functional characterization of the economic structure of stablecoins.
-
Reducing the Volatility of Cryptocurrencies — A Survey of Stablecoins - Authors discuss how stablecoins help reduce the volatility of cryptocurrencies by surveying different types of stablecoins and their stability mechanisms.
-
Understand Volatility of Algorithmic Stablecoin: Modeling, Verification and Empirical Analysis - Authors performed a systematic empirical analysis on real transaction activities of the Basis Cash stablecoin to relate theoretical possibilities to market observations.
-
T-Cash: Transferable Fiat Backed Coins - In this paper authors propose a transferable electronic cash scheme using blockchain technology which allows users to continuously reuse coins within the system.
General information:
-
A Big Data Analysis of the Ethereum Network: from Blockchain to Google Trends - An analysis of the crypto prices and search trends suggests the existence of big players (and not the regular users), manipulating the market after a drop in prices.
-
A DLT-based Smart Contract Architecture for Atomic and Scalable Trading - In this paper, authors propose an atomic, scalable and privacy-preserving protocol that enables secure and dynamic updates. Then develop a smart contract-based Credit-Note System (CNS) that allows participants to lock funds before a state channel initialisation, which enhances flexibility and efficiency.
-
Exploring Etherum Data Stores: A Cost and Performance Comparison -In this work, authors examine a comprehensive set of data management approaches for ETH apps and assess the associated cost in gas as well as the retrieval performance.
-
A Systematic Literature Review on Blockchain Governance - This study comprehensively investigates blockchain governance via 5W1H questions.
-
A general framework for blockchain analytics - Authors propose a general-purpose framework, supporting data analytics on Bitcoin Ethereum — it allows to integrate block data with data from other sources, and to organise them in a database.
-
AMR:Autonomous Coin Mixer with Privacy Preserving Reward Distribution - In this work, authors propose the first censorship resilient mixer, which can reward its users in a privacy-preserving manner for participating in the system.
-
Technology Review of Blockchain Data Privacy Solutions- This report aims to review existing enterprise blockchain technologies: EOSIO powered systems, Hyperledger Fabric and Besu, Consensus Quorum, R3 Corda and Ernst and Young’s Nightfall.
-
Blockchain Systems, Technologies and Applications: A Methodology Perspective - First, this article introduces how blockchain works, the research activity and challenge, and illustrates the roadmap involving the classic methodology with typical blockchain use cases and topics. Second, in blockchain system, how to adopt stochastic process, game theory, optimization, machine learning and cryptography to study blockchain running process and design blockchain protocol/algorithm are discussed in details.
-
Ethna: Analyzing the Underlying Peer-to-Peer Network of the Ethereum Blockchain - Ethna implements a novel method that accurately measures the degrees of Ethereum nodes.
-
Community Detection in Blockchain Social Networks - A novel community detection algorithm which is designed for low-rank signals on graph can help find users’ communities based on user-token subscription.
-
Block Access Control in Wireless Blockchain Network: Design, Modeling and Analysis - The results show that BAC approaches can help the network to achieve a high transaction throughput while improving block utilization and saving computational power. Meanwhile, the trade-off between transaction throughput and block utilization is demonstrated, which can act as a guidance for practical deployment of blockchain.
-
Towards External Calls for Blockchain and Distributed Ledger Technology - In this paper authors show that this belief is preconceived by demonstrating a method that enables blockchain and distributed ledger technologies to perform calls to external systems initiated from the blockchain/DLT itself.
-
Managing Blockchain Systems and Applications: A Process Model for Blockchain Configurations - Authors demonstrate the applicability of the proposed blockchain configuration process model on four blockchain projects
-
A Note on Optimal Fees for Constant Function Market Makers - Authors present framework that can be used to compute optimal fees for real world pools using past trade data.
-
Reward Mechanism for Blockchains Using Evolutionary Game Theory - In this paper, authors develop a reward mechanism framework that could apply to many PoS blockchains.
-
Summing Up Smart Transitions - In this paper, authors present a generalization of first-order logic which can express the unbounded sum of balances.
-
100+ Metrics for Software Startups - A Multi-Vocal Literature Review - Using data in the form of metrics can help software startups to make the right decisions amidst uncertainty and limited resources.
-
Blockchain Networks: Data Structures of Bitcoin , Monero, Zcash, Ethereum, Ripple and IOTA - Authors discuss how blockchain data can be abstracted as various types of networks, and how network abstractions used to reap insights into the structure.
-
Decentralized Finance: On Blockchain- and Smart Contract-Based Financial Markets - Written by Fabian Schar, gives an overview of blockchain based markets with technical details but in a digestable format; great paper for new comers to the space.
Special Author's compilations:
- All-about-NFT security
- All ETH security tools existing
- All good TG Dev communities
- Known smart contract-side and user-side attacks
Side-Chains
EIP - 1559
-
Dynamical Analysis of the EIP-1559 Ethereum Fee Market- Authors perform a thorough analysis of the resulting fee market dynamic mechanism via a combination of tools from game theory and dynamical systems.
-
Stochastic Properties of EIP1559 Basefees - Authors explain the new pricing mechanism for the Ethereum developed to bring stability to fluctuating gas prices.
-
Transaction Fee Mechanism Design for the Ethereum Blockchain: An Economic Analysis of EIP-1559 - This report assesses the game-theoretic strengths and weaknesses of the proposal and explores some alternative designs.
Ethereum 2.0
MEV - Maximal Extractable Value / Miner Extractable Value:
-
Quantifying Blockchain Extractable Value: How dark is the forest? - Authors provide evidence that miners already extract Miner Extractable Value (MEV), which could destabilize the blockchain consensus security, as related work has shown.
-
Flash Boys 2.0: Frontrunning, Transaction Reordering, and Consensus Instability in Decentralized Exchanges - Introduces the concept of MEV, the work highlights the large, complex risks created by transaction-ordering dependencies in smart contracts and the ways in which traditional forms of financial-market exploitation are adapting to and penetrating blockchain economies.
-
Flashbots: MEV in Eth2 - In this post, authors study transaction ordering in eth2 and analyze MEV-enabled staking yields. Then they find that MEV will significantly boost validator rewards but may reinforce inequalities among participants of eth2. Authors also discuss qualitative aspects of MEV in eth2 such as the potential dynamics that will unfold between its largest stakeholders like exchanges and validator pools.
-
A Survey on Blockchain Interoperability: Past, Present, and Future Trends - In this post, authors study blockchain interoperability techniques and solutions, providing a holistic overview of blockchain interoperability, paving the way for systematic research in this domain.
Discucssion
#### Hack Incident Reporting
- Rekt News - Anonymous platform for whistleblowers and DeFi detectives to present their information to the community.
- Blockchain Threat Intelligence - Newsletter covering the latest security news, tools, events, vulnerabilities, and threats in the cryptocurrency landscape. Also supports this repo.
- Blockchain Graveyard - A list of all massive security breaches or thefts involving blockchains.
Tools Collection
Ethereum Tools
- Ethstats
- ETH Forks
- Node Stats
- EVM Networks List
- BIP39 Derivation
- Vanity Generator
- Web Vanity Generator
- Vanity Eth Generators
- FindETH
- Eth Tx Decoder
- Ethereum input data decoder
- Ethereum Gas Charts
- Ethereum TxPool Statistics
- Gas Prices Dashboard
- The UI from ABI
- Oracles Club
- Tx Combo
- ETH or ERC-20 Mass-sender
- BulkSender
- ERC20 Meta Token Wrapper
- Cancel Ethereum Transaction
- Fees WTF Calculator
- Spend Gas Stats
- Pools Stats
- Solhint
- Solium
- Sol-tester
- Solidity-coverage
- TypeChain
- Tenderly
Libraries
- dapp-bin - Ethereum repo providing implementations for many common data structures and utilities in Solidity, Serpent and LLL.
- Solidity Collections - Collections of code snippets and utility libraries.
- OpenZeppelin - Framework to build secure smart contracts.
Popular Smart Contract Libraries
- Zeppelin - Contains tested reusable smart contracts like SafeMath and OpenZeppelin SDK library for smart contract upgradeability
- cryptofin-solidity - A collection of Solidity libraries for building secure and gas-efficient smart contracts on Ethereum.
- Modular Libraries - A group of packages built for use on blockchains utilising the Ethereum Virtual Machine
- DateTime Library - A gas-efficient Solidity date and time library
- Aragon - DAO protocol. Contains aragonOS smart contract framework with focus on upgradeability and governance
- ARC - an operating system for DAOs and the base layer of the DAO stack.
- 0x - DEX protocol
- Token Libraries with Proofs - Contains correctness proofs of token contracts wrt. given specifications and high-level properties
- Provable API - Provides contracts for using the Provable service, allowing for off-chain actions, data-fetching, and computation
- ABDK Libraries for Solidity - Fixed-point (64.64 bit) and IEEE-754 compliant quad precision (128 bit) floating-point math libraries for Solidity
Patterns for Smart Contracts
- Dappsys: Safe, simple, and flexible Ethereum contract building blocks
- MakerDAO
- The TAO
- Dapp-a-day 1-10
- Dapp-a-day 11-25
- OpenZeppelin Contracts: An open framework of reusable and secure smart contracts in the Solidity language.
- Blog about Best Practices with Security Audits
- Advanced Workshop with Assembly
- Simpler Ethereum Multisig - especially section Benefits
- CryptoFin Solidity Auditing Checklist - A checklist of common findings, and issues to watch out for when auditing a contract for a mainnet launch.
- aragonOS: A smart contract framework for building DAOs, Dapps and protocols
- Checks Effects Interactions Pattern
Upgradeability
- Blog von Elena Dimitrova, Dev at colony.io
- Library driven development
- Advanced Solidity code deployment techniques
- OpenZeppelin on Proxy Libraries
Developer Tools
- CryptoFin Solidity Auditing Checklist - A checklist of common findings, and issues to watch out for when auditing a contract for a mainnet launch.
- MythX - Security verification platform and tools ecosystem for Ethereum developers
- Mythril - Open-source EVM bytecode security analysis tool
- Oyente - Alternative static smart contract security analysis
- Securify - Security scanner for Ethereum smart contracts
- SmartCheck - Static smart contract security analyzer
- Ethersplay - EVM disassembler
- Evmdis - Alternative EVM disassembler
- Hydra - Framework for cryptoeconomic contract security, decentralised security bounties
- Solgraph - Visualise Solidity control flow for smart contract security analysis
- Manticore - Symbolic execution tool on Smart Contracts and Binaries
- Slither - A Solidity static analysis framework
- Adelaide - The SECBIT static analysis extension to Solidity compiler
- solc-verify - A modular verifier for Solidity smart contracts
- Solidity security blog - Comprehensive list of known attack vectors and common anti-patterns
- Awesome Buggy ERC20 Tokens - A Collection of Vulnerabilities in ERC20 Smart Contracts With Tokens Affected
- Free Smart Contract Security Audit - Free smart contract security audits from Callisto Network
- Piet - A visual Solidity architecture analyzer
Frontend Ethereum APIs
- Web3.js - Javascript Web3
- Eth.js - Javascript Web3 alternative
- Ethers.js - Javascript Web3 alternative, useful utilities and wallet features
- light.js A high-level reactive JS library optimized for light clients.
- Web3Wrapper - Typescript Web3 alternative
- Ethereumjs - A collection of utility functions for Ethereum like ethereumjs-util and ethereumjs-tx
- Alchemy-web3.js - Javascript Web3 wrapper with automatic retries, access to Alchemy's enhanced APIs, and robust websocket connections.
- flex-contract and flex-ether - Modern, zero-configuration, high-level libraries for interacting with smart contracts and making transactions.
- ez-ens - Simple, zero-configuration Ethereum Name Service address resolver.
- web3x - A TypeScript port of web3.js. Benefits includes tiny builds and full type safety, including when interacting with contracts.
- Nethereum - Cross-platform Ethereum development framework
- dfuse - A TypeScript library to use dfuse Ethereum API
- Drizzle - Redux library to connect a frontend to a blockchain
- Tasit SDK - A JavaScript SDK for making native mobile Ethereum dapps using React Native
- useMetamask - a custom React Hook to manage Metamask in Ethereum ĐApp projects
- WalletConnect - Open protocol for connecting Wallets to Dapps
- Subproviders - Several useful subproviders to use in conjunction with Web3-provider-engine (including a LedgerSubprovider for adding Ledger hardware wallet support to your dApp)
- ethvtx - ethereum-ready & framework-agnostic redux store configuration. docs
- Strictly Typed - Javascript alternatives
- elm-ethereum
- purescript-web3
- ChainAbstractionLayer - Communicate with different blockchains (including Ethereum) using a single interface.
- Delphereum - a Delphi interface to the Ethereum blockchain that allows for development of native dApps for Windows, macOS, iOS, and Android.
- Torus - Open-sourced SDK to build dapps with a seamless onboarding UX
- Fortmatic - A simple to use SDK to build web3 dApps without extensions or downloads.
- Portis - A non-custodial wallet with an SDK that enables easy interaction with DApps without installing anything.
- create-eth-app - Create Ethereum-powered front-end apps with one command.
- Scaffold-ETH - Beginner friendly forkable github for getting started building smart contracts.
- Jolly Roger - dApp framework using ethereum, buidler, svelte and thegraph
- Notify.js - Deliver real-time notifications to your users. With built-in support for Speed-Ups and Cancels, Blocknative Notify.js helps users transact with confidence. Notify.js is easy to integrate and quick to customize.
Backend Ethereum APIs
- Web3.py - Python Web3
- Web3.php - PHP Web3
- Ethereum-php - PHP Web3
- Web3j - Java Web3
- Nethereum - .Net Web3
- Ethereum.rb - Ruby Web3
- rust-web3 - Rust Web3
- ethers-rs - Ethers-rs
- Web3.hs - Haskell Web3
- KEthereum - Kotlin Web3
- Eventeum - A bridge between Ethereum smart contract events and backend microservices, written in Java by Kauri
- Ethereumex - Elixir JSON-RPC client for the Ethereum blockchain
- Ethereum-jsonrpc-gateway - A gateway that allows you to run multiple Ethereum nodes for redundancy and load-balancing purposes. Can be ran as an alternative to (or on top of) Infura. Written in Golang.
- EthContract - A set of helper methods to help query ETH smart contracts in Elixir
- Ethereum Contract Service - A MESG Service to interact with any Ethereum contract based on its address and ABI.
- Ethereum Service - A MESG Service to interact with events from Ethereum and interact with it.
- Marmo - Python, JS, and Java SDK for simplifying interactions with Ethereum. Uses relayers to offload transaction costs to relayers.
- Ethereum Logging Framework - provides advanced logging capabilities for Ethereum applications and networks including a query language, query processor, and logging code generation
Ethereum Clients
- Besu - an open-source Ethereum client developed under the Apache 2.0 license and written in Java. The project is hosted by Hyperledger.
- Geth - Go client
- Erigon - a mostly Go implementation of Ethereum client built on the efficiency frontier
- OpenEthereum - Rust client, formerly called Parity. On path to deprecation in favor of Erigon.
- Aleth - C++ client
- Nethermind - .NET Core client
- Infura - A managed service providing Ethereum client standards-compliant APIs
- Trinity - Python client using py-evm
- Ethereumjs - JS client using ethereumjs-vm
- Seth - Seth is an Ethereum client tool—like a "MetaMask for the command line"
- Mustekala - Ethereum Light Client project of Metamask
- Exthereum - Elixir client
- EWF Parity - Energy Web Foundation client for the Tobalaba test network
- Quorum - A permissioned implementation of Ethereum supporting data privacy by JP Morgan
- Awesome Quorum - A curated list of awesome softwares, libraries, tools and more to build on ConsenSys Quorum.
- Mana - Ethereum full node implementation written in Elixir.
- Chainstack - A managed service providing shared and dedicated Geth nodes
- QuikNode - Blockchain developer cloud with API access and node-as-a-service.
- Watchdata - Provide simple and reliable API access to Ethereum blockchain
Storage
- IPFS - Decentralised storage and file referencing
- Mahuta - IPFS Storage service with added search capability, formerly IPFS-Store
- OrbitDB - Decentralised database on top of IPFS
- JS IPFS API - A client library for the IPFS HTTP API, implemented in JavaScript
- TEMPORAL - Easy to use API into IPFS and other distributed/decentralised storage protocols
- PINATA - The Easiest Way to Use IPFS
- Swarm - Distributed storage platform and content distribution service, a native base layer service of the Ethereum web3 stack
- Infura - A managed IPFS API Gateway and pinning service
- 3Box Storage - An api for user controlled, distrubuted storage. Built on top of IPFS and Orbitdb.
- Aleph.im - an offchain incentivized peer-to-peer cloud project (database, file storage, computing and DID) compatible with ETH and IPFS.
- Fleek - similar to netlify but uses ipfs for hosting websites.
Bootstrap/Out-of-Box tools
- Truffle boxes - Packaged components for the Ethereum ecosystem
- Create Eth App - Create Ethereum-powered frontend apps with one command
- Besu Private Network - Run a private network of Besu nodes in a Docker container
- Testchains - Pre-configured .NET devchains for fast response (PoA)
- Blazor/Blockchain Explorer - Wasm blockchain explorer (functional sample)
- Local Raiden - Run a local Raiden network in docker containers for demo and testing purposes
- Private networks deployment scripts - Out-of-the-box deployment scripts for private PoA networks
- Parity Demo-PoA Tutorial - Step-by-Step tutorial for building a PoA test chain with 2 nodes with Parity authority round consensus
- Local Ethereum Network - Out-of-the-box deployment scripts for private PoW networks
- Kaleido - Use Kaleido for spinning up a consortium blockchain network. Great for PoCs and testing
- Cheshire - A local sandbox implementation of the CryptoKitties API and smart contracts, available as a Truffle Box
- aragonCLI - aragonCLI is used to create and develop Aragon apps and organizations.
- ColonyJS - JavaScript client that provides an API for interacting with the Colony Network smart contracts.
- ArcJS - Library that facilitates javascript application access to the DAOstack Arc ethereum smart contracts.
- Arkane Connect - JavaScript client that provides an API for interacting with Arkane Network, a wallet provider for building user-friendly dapps.
- Onboard.js - Blocknative Onboard is the quick and easy way to add multi-wallet support to your project. With built-in modules for more than 20 unique hardware and software wallets, Onboard saves you time and headaches.
- web3-react - React framework for building single-page Ethereum dApps
Ethereum ABI (Application Binary Interface) tools
- ABI decoder - library for decoding data params and events from Ethereum transactions
- ABI-gen - Generate Typescript contract wrappers from contract ABI's.
- Ethereum ABI UI - Auto-generate UI form field definitions and associated validators from an Ethereum contract ABI
- headlong - type-safe Contract ABI and Recursive Length Prefix library in Java
- EasyDapper - Generate dapps from Truffle artifacts, deploy contracts on public/private networks, offers live customizable public page to interact with contracts.
- One Click dApp - Instantly create a dApp at a unique URL using the ABI.
- Truffle Pig - a development tool that provides a simple HTTP API to find and read from Truffle-generated contract files, for use during local development. Serves fresh contract ABIs over http.
- Ethereum Contract Service - A MESG Service to interact with any Ethereum contract based on its address and ABI.
- Nethereum-CodeGenerator - A web based generator which creates a Nethereum based C# Interface and Service based on Solidity Smart Contracts.
Testing Tools
- Truffle Teams - Zero-Config continuous integration for truffle projects
- Solidity code coverage - Solidity code coverage tool
- Solidity coverage - Alternative code coverage for Solidity smart-contracts
- Solidity function profiler - Solidity contract function profiler
- Sol-profiler - Alternative and updated Solidity smart contract profiler
- Espresso - Speedy, parallelised, hot-reloading solidity test framework
- Eth tester - Tool suite for testing Ethereum applications
- Cliquebait - Simplifies integration and accepting testing of smart contract applications with docker instances that closely resembles a real blockchain network
- Hevm - The hevm project is an implementation of the Ethereum virtual machine (EVM) made specifically for unit testing and debugging smart contracts
- Ethereum graph debugger - Solidity graphical debugger
- Tenderly CLI - Speed up your development with human readable stack traces
- Solhint - Solidity linter that provides security, style guide and best practice rules for smart contract validation
- Ethlint - Linter to identify and fix style & security issues in Solidity, formerly Solium
- Decode - npm package which parses tx's submitted to a local testrpc node to make them more readable and easier to understand
- truffle-assertions - An npm package with additional assertions and utilities used in testing Solidity smart contracts with truffle. Most importantly, it adds the ability to assert whether specific events have (not) been emitted.
- Psol - Solidity lexical preprocessor with mustache.js-style syntax, macros, conditional compilation and automatic remote dependency inclusion.
- solpp - Solidity preprocessor and flattener with a comprehensive directive and expression language, high precision math, and many useful helper functions.
- Decode and Publish – Decode and publish raw ethereum tx. Similar to https://live.blockcypher.com/btc-testnet/decodetx/
- Doppelgänger - a library for mocking smart contract dependencies during unit testing.
- rocketh - A simple lib to test ethereum smart contract that allow to use whatever web3 lib and test runner you choose.
- pytest-cobra - PyTest plugin for testing smart contracts for Ethereum blockchain.
Transaction Visualization, Scoring & Tracking:
| Check out Author's methodology, carefully read all parts of thread
- BlockPath
- Maltego
- GraphSense
- AML Bot Investigation Regime
- Bank Verified
- Orbit
- Arronax
- Blockscout
- BTC Parser
- Txstreet
- Nansen
- Bloxy
- Solana Explorer
- Elliptic
- ANChain AI
- Cipher Trace
- Crystal Blockchain
- Uppsala Security
- Coinfirm
- Solidus Labs
- TRM Labs
- Halborn Forensic
- Visual List
- GLP
- BreadCrumbs
- Tenderly
- Dune
- ETH Detective
Support Project:
Support is very important to me, with it I can spend less time at work and do what I love - educating DeFi & Crypto users :sparkling_heart:
If you want to support my work, you can send me a donation to the address:
0xB25C5E8fA1E53eEb9bE3421C59F6A66B786ED77A — ERC20 & ETH (officercia.eth)
17Ydx9m7vrhnx4XjZPuGPMqrhw3sDviNTU - BTC
(👍 ͡❛ ͜ʖ ͡❛)👍
Blockchain-stuff
Curated list of blockchain and general cryptocurrency resources
Table of Contents
- Bitcoin Books
- Blockchain Art
- Blockchain Books
- Courses
- Documentaries
- Ethereum and Smart Contracts
- Explorers
- Infographics
- Talks
- White Papers
- Youtube Channels
- Assets
- Private Blockchains
Blockchain Books
- Blockchain Explained: A Technology Guide to the Bitcoin and Cryptocurrency Fintech Revolution - R.J Simmons
- Blockchain Fast and Simple - What It Is, How It Works, Why It Matters: Understand the basics, join the revolution - Pierro Martini
- Cryptocurrency Investment: How to Invest in Cryptocurrencies and Make Money in the Long-term - Tamas Torok
- Blockchain Revolution: How the Technology behind Bitcoin Is Changing Money, Business, and the World - Don and AlexTapscott
- Blockchain Revolution: The Ultimate Guide to Mastering Bitcoin and How to Use Blockchain for Your Benefit - Phil Stein
- Blockchain The Ultimate Guide to Understanding the Hidden Economy -s Oscar Flynt
- Blockchain: Blueprint for a New Economy - Melanie Swan
- Blockchain: Easiest Ultimate Guide To Understand Blockchain - Jared Norton
- Blockchain: Quick Start Guide to Understanding Blockchain, the Biggest Revolution in Financial Technology and Beyond Since the Internet - Seth Ramsey
- Blockchain: The Comprehensive Guide to Mastering the Hidden Economy - Timothy Short
- Blockchain: The Essential Guide to Understanding the Blockchain Revolution - Jeff Reed
- Blockchain: The Future of Internet Innovation - Ideas, Applications and Uses for Blockchain Technology - Jerry Kershen
- Blockchain: The Simple Guide To Everything You Need To Know - Jacob William
- Bye Bye Banks?: How Retail Banks are Being Displaced, Diminished and Disintermediated by Tech Startups and What They Can Do to Survive - James Haycock
- Decentralized Applications: Harnessing Bitcoin's Blockchain Technology - Siraj Raval
- Financial Technology: This Book Bundle Includes FinTech and Blockchain - Jacob William
- How to Program a Block Chain Explorer with Python and Bitcoin - Alex Gorale
- The Business Blockchain: Promise, Practice, and Application of the Next Internet Technology - William Mougayar
- The FinTech Book: The Financial Technology Handbook for Investors, Entrepreneurs and Visionaries - Susanne Chishti and Janos Barberis
- The Fourth Industrial Revolution - Prof Klaus Schwab
- The Science of the Blockchain - Roger Wattenhofer
- ValueWeb: How FinTech firms are using mobile and blockchain technologies to create the Internet of Value -Chris Skinner
- Building Ethereum ĐApps -Roberto Infante
White papers
- A Fistful of Bitcoins: Characterizing Payments Among Men with No Names - University of San Diego California
- A brave new world? What impact will distributed ledger technology have on the financial industry? - The European Central Bank
- An Architecture for the Internet of Money - Meher Roy
- Banking in a world of programmable assets - Accenture
- Bitcoin Primer - Macro Risk Advisors
- Bitcoin as Money? - Stephanie Lo and J. Christina Wang
- Bitcoin - Microsoft Research
- BlockChain Technology Beyond Bitcoin - University of California,Berkeley
- Blockchain: practical implications of a revolutionary technology for financial markets and beyond - DLA Piper
- Blockchain: the solution for transparency in product supply chains - Project Provenance Ltd
- Blockstack: A Global Naming and Storage System Secured by Blockchains - Muneeb Ali, Jude Nelson, Ryan Shea and Michael J. Freedman
- Bootstrapping Trust in Distributed Systems with Blockchains - Muneeb Ali, Jude Nelson, Ryan Shea and Michael J. Freedman
- Consensus – Immutable agreement for the internet of value - KPMG
- Distributed Ledger Technology: beyond block chain - UK Government Chief Scientific Adviser
- Economics of Bitcoin - Peter Surda
- Enabling Blockchain Innovations with Pegged Sidechains - Adam Back, Matt Corallo, Luke Dashjr, Mark Friedenbach, Gregory Maxwell, Andrew Miller, Andrew Poelstra, Jorge Timón, and Pieter Wuille
- Extending Existing Blockchains with Virtualchain - Jude Nelson, Muneeb Ali, Ryan Shea and Michael J. Freedman
- The Impact and Potential of Blockchain on the Securities Transaction Lifecycle - The Swift Institute
- World Citizenship by Creating Affordable Private Passport Service - Chris Ellis
Bitcoin
- Who is Bitcoin address owner, mentions on the Internet, forums, scam alerts, and other metadata. - Maksim Boyarov
- Anonymous Cryptocurrencies: The rise of bitcoin alternatives that offer true anonymity - Will Martin
- Bitcoin and Lightning Network on Raspberry Pi - Harris Brakmic
- Bit by Bit: How P2P Is Freeing the World - Jeffery Tucker
- Bitcoin : A Complete Beginner's Guide - Master The Game - Luke Sutton
- Bitcoin Basics - Benjamin Tideas
- Bitcoin Decoded: Bitcoin Beginner's Guide to Mining and the Strategies to Make Money with Cryptocurrencies - Brett Combs,Tom Mitsoff
- Bitcoin For Dummies - Prypto
- Bitcoin Internals: A Technical Guide to Bitcoin - Chris Clark
- Bitcoin Step by Step for Beginners: How to Invest and Profit from Bitcoin Today! - Leo Kallstrom
- Bitcoin The Future of Money - Dominic Frisby
- Bitcoin and Cryptocurrency Technologies: A Comprehensive Introduction - Arvind Narayanan,Joseph Bonneau,Edward Felten, Andrew Miller,Steven Goldfeder (free version of first draft)
- Bitcoin and The Future of Money - Jose Pagliery
- Bitcoin for the Befuddled - Conrad Barski and Chris Wilmer
- Bitcoin in English - Peter H Le
- Bitcoin: Mastering Bitcoin & Cyptocurrency for Beginners - Tim Harris
- Digital Gold: The Untold Story of Bitcoin - Nathaniel Popper
- Everything you need to know about buying, selling and investing in Bitcoin - A. H Smithers
- Mastering Bitcoin: Unlocking Digital Cryptocurrencies Andreas M. Antonopoulos
- The Age of Cryptocurrency: How Bitcoin and Digital Money are challenging the Global Economic Order - Paul Vigna and Michael J. Casey
- The Anatomy of a Money-Like Informational Commodity: A study of Bitcoin - Tim Swanson
- The Bitcoin Bible - Benjamin Guttmann
- The Bitcoin Big Bang: How Alternative Currencies Are About to Change the World - Brian Kelly
- The Bitcoin Tutor: Unlocking the Secrets of Bitcoin - Marc A. Carignan
- The Bitcoin Tutorial: Develop an intuitive understanding of the currency and blockchain technology - Bruce Kleinman
- The Black Book of Bitcoin: A Step-by-Step Bitcoin Guide on Everything You Need to Know About this New Currency - Mark Janniro
- The Book of Satoshi - Paul Champagne
- The Digital Money Game: Competing in the multi-trillion dollar payments industry - Charmaine Oak
- The Internet of Money - Andreas M Antonopoulos
- Understanding Bitcoin: Cryptography, Engineering and Economics - Pedro Franco
- Virtual Billions: The Genius, the Drug Lord, and the Ivy League Twins behind the Rise of Bitcoin - Eric Geissinger
- Wildcat Currency - Edward Castronova
- The Bitcoin Standard - Saifedean Ammous
Ethereum and Smart Contracts
- A Proof of Stake Design Philosophy - Vitalik Buterin
- Blockchain contracts and CyberLaw - Pavan Duggal
- EatTheBlocks
- Ethereum Builder's Guide - Ethereum
- Ethereum Frontier Guide - Ethereum
- Ethereum: A look into the world of Ethereum and everything you need to know about it's trade and investment - Ben Abner
- Ethereum: The Complete Beginners Guide -Blockchain, Cryptocurrencies, Ethereum - Ray Hammond
- FinTech: Financial Technology and Modern Finance in the 21st Century - Jeff Reed
- Great Chain of Numbers: A Guide to Smart Contracts, Smart Property and Trustless Asset Management - Tim Swanson
- Learn Ethereum Dapps: Build a ToDo List with a Solidity smart contract
- Investing In Ethereum: The Complete Guide To Smart Investing - Learn How To Easily Profit From Cryptocurrencies! - Thomas Sanders
- Investing in Ethereum: The Ultimate Guide to Learning and Profiting from--Cryptocurrencies - Oscar Flynt
- Investing in Ethereum: Understanding Cryptocurrencies for the Smart Investor - Michael K Nungesser
- Practical Guide to Smart Contracts - Smart Contract Japan
- Smart Contracts: How to Use Blockchain Smart Contracts for Cryptocurrency Exchange - Oscar Flynt
- Smart Contracts: The Essential Guide to Using Blockchain Smart Contracts for Cryptocurrency Exchange - Jeff Reed
- Smart Contracts: The Ultimate Guide To Blockchain Smart Contracts - Learn How To Use Smart Contracts For Cryptocurrency Exchange! - Terry Parker
- The Modern Ethereum - Ryan Venter
- TurboEthereum Guide - Gavin Wood
- Building Ethereum ĐApps -Roberto Infante
Infographics
- Bitcoin's History 2008-2014
- How a Transaction Works
- Crypto Table - A Periodic Table of Cryptocurrencies
Talks
- Balaji Srinivasan gives a quick talk at Goldman Sachs. (14 min)
- Balaji Srinivasan on Silicon Valley’s ultimate exit, the USA the Microsoft of nations (16 min)
- Beyond Bitcoin - Block Chains and the Future of Trustless Computing (27 min)
- Bitcoin Is Exciting Because It's Cheap - Bill Gates
- Bitcoin threatens Kleptocracy (7 min):
- Bitcoin. Sweat. Tide. Meet the future of branded currency.(11min) - Paul Kemp-Robertson
- Convergex Group, Nick Colas (3min):
- Defining bitcoin ownership, 2 min
- Ending the Federal Reserve's Monopoly (6 min):
- Everything You Need to Know About Bitcoin - Reihan Salams
- How Cryptocurrencies Can Succeed: the Stripe Perspective(20min) - Greg Brockman
- How the Blockchain is Changing Money and Business (19 min) - Don Tapscott
- Internet vs Bitcoin (3min):
- Join The Bitcoin Revolution (4min):
- TEDx, Crytpocurrencies like Bitcoin are coming, and it's a good thing (11min): - Juan Llanos
- Powerful Technology Transforming Society: (6min)
- Quick Introduction to Bitcoin (5min)
- Stefan Molyneux- Money, Power and Politics (30min):
- Stopping War: (1 min)
- TEDx, Distributing Power & Trust (18min) - Eric Spano
- Testimony for the Australian Senate Commitee on Economics References(36min)
- The Future of Bitcoin: New Applications and Rebuilding the banking system: (28min) - Mike Hearn
- The Story of Genesis: (3min)
- The future will be decentralized (14mins) - Charles Hoskinson
- Xapo, the history of money (5 min):
- Masters of Blockchain (11 episodes)
Youtube Channels
- AirBitz
- Andreas Antonopolous
- Andy Ofiesh
- Bitcoin Embassy
- Bitcoin Foundation
- Bitcoin Wednesday
- Blockchain University
- Blockstack
- Bruce Fenton First Mover
- Coin Brief
- Decentral.tv
- EatTheBlocks
- Ethereum for Dummies - Dr. Gavin Wood
- Draper University
- EtherCasts
- Ethereum Project
- EverydayCrpto
- Let's Talk Bitcoin
- MIT Bitcoin Club
- SF Bitcoin Meetup Industry
- Satoshi Pollen Technical
- Texas Bitcoin Conference
- University Of Nicosia
- WBN
- World Crypto Network
- deBitcoin
- Trust Disrupted
- Introduction to Ethereum and Smart Contracts
- BitcoinLectures.tv
Courses
- EatTheBlocks Pro
- Ethereum DApps In Motion: build a decentralized exchange with Solidity & Truffle
- Bitcoin and Cryptocurrency Technologies - Princeton University
- Bitcoin or How I learned to stop worrying and love Crypto - Udemy
- Bitcoin - Khan Academy Series
- Crypto Currencies, the Blockchain, and Smart Contracts - Standford
- Ethereum Developer: Build A Decentralised Blockchain App - Udemy
- Introduction to Bitcoin and Decentralized Technology By Scott Driscoll - Pluralsight
- The Basics of Blockchain: A Beginner's Guide to Blockchain - Udemy
- The Complete Ethereum Course - udemy
- Blockchain for Finance Professionals - Experfy
- Blockchain Technology Fundamentals - Experfy
- Introduction to Digital Currencies - University of Nicosia
Documentaries
- Banking on Bitcoin(Trailer)
- Bitcoin in Uganda
- Inside Man with Morgan Spurlock
- Bitcoin: Liberating Organic Farmers
- Bitcoins in Argentina
- Life Inside of a Secret Chinese Bitcoin Mine
- The Bitcoin Doco
- The Rise and Rise of Bitcoin
Blockchain Art
Explorers
- Apirone.com
- Bitaps
- Bitinfocharts
- Block Explorer
- Blockchain Size:
- Blockonomics
- Blockstack Explorer
- Blockr
- Blocktrail
- Btc Chain
- Chain Flyer
- Coin Payments
- Coin Prism
- CoinGecko
- Ether.Camp
- EtherChain
- Ethereum Network Stats
- Etherscan
- Ethplorer
- Etherchain
- Trivial
- Insight
- Size of the Network
- Smartbit
- SoChain
- Tradeblock
- Wallet Explorer
- WebBtc
- Exchangify




