DirCoins.com

Awesome Blockchain

Awesome

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

  • Exchange

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.

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.

Consortium Blockchain

Hyperledger

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


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.

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.

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.

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.

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

  • Best of Bitcoin Maximalist - Scammers, Morons, Clowns, Shills & BagHODLers - Inside The New New Crypto Ponzi Economics, 2018 - FREE

  • 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

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!

  1. Fork it (https://github.com/yjjnls/awesome-blockchain/fork)
  2. Clone it (git clone https://github.com/yjjnls/awesome-blockchain)
  3. Create your feature branch (git checkout -b your_branch_name)
  4. Commit your changes (git commit -m 'Description of a commit')
  5. Push to the branch (git push origin your_branch_name)
  6. Create a new Pull Request

If you found this resource helpful, give it a 🌟 otherwise contribute to it and give it a ⭐️.

Awesome Blockchain Awesome

收集所有区块链(BlockChain)技术开发相关资料

Please read the contribution guidelines before contributing. 请在为本项目贡献信息前仔细阅读 操作指南

欢迎到Issues提交区块链相关项目,我们会第一时间处理。 提交的项目格式如下: 项目名称:XXXXX 相关介绍: XXXXXX

CONTENTS

INTRO 介绍

Started 入门

Ethereum 以太坊进阶

Fabric 联盟链进阶

TUTORIAL 教程

BitCoin 比特币

Ethereum 以太坊

Fabric 联盟链

Videos 视频

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 比特币

Ethereum 以太坊

Fabric 联盟链

APPLICATION 应用

Explorer 链浏览

Wallet 钱包

Exchange 交易所

Defi 去中心化金融

Game 游戏

IM 通信

Social 社会

Cross Chain 跨链

Token 代币

Awesome Ethereum

以太坊相关详细开发资源收集

Awesome Fabric

Fabric联盟链相关详细开发资源收集

BTC:1JnC15WwDVcC3QbQRUY6ChqRLucLpTGaJN

ETH:0x81847890eecdecb20ee145824eaa1aec079a712c

License

CC0

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:

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

PythonRubyJavaScriptJavaGo

Python

Let's Build the Tiniest Blockchain in Python Series by Gerald Nash

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)

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)

Blockchain Series in Go by by Coral Health (Source)

Talk Notes

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.

¹: (Source: Best of Bitcoin Maximalist - Scammers, Morons, Clowns, Shills & BagHODLers - Inside The New New Crypto Ponzi Economics)

²: 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

RubyJavaScript

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] --push Merge 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.

-- Kayla Williams

I got a fever. And the only prescription is more CryptoKitties.

-- Eduardo Salazar

My Gen 7 CryptoKitty #104375. The Future is Meow.

-- Anshul Dhawan

  • 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...

-- CrypoKittiesMarket

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!

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 istinspring et 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

GitHub stars Awesome Say Thanks!

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

☤ Coin Market Tools & Utilities

☤ Reading Material

☤ 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

☤ 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.

☤ 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)

(others)

☤ 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


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

Where to store bitcoins

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

Canada / Mexico

Australia / New Zealand

EU

India

China

Japan / Korea / Other Asia

CIS

Middle East / Africa

DEX (Decentralized Exchanges)

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

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.

Support Project Supported by GitCoin Supported by LEGO Research Base Mail

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

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:

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

Smart Contract Standards

  • ERCs - Ethereum Improvement Proposals

Tokens

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

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

#### Practice

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

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

Front End

UI Components

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:

Security & Safety:

Web2 cybersecurity
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.

  • Paradigm CTF

DeFI

Ethereum Name Service

Non-Fungible Token (NFT):

Stable-Coins:

General information:

Special Author's compilations:

Side-Chains

EIP - 1559

Ethereum 2.0

MEV - Maximal Extractable Value / Miner Extractable Value:

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

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.
  • 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

Upgradeability

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

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

Blockchain Books

White papers

Bitcoin

Ethereum and Smart Contracts

Infographics

Talks

Youtube Channels

Courses

Documentaries

Blockchain Art

Explorers

Assets

Private Blockchains