- The goal of this document is to provide a reading list for learning to program Blockchain (distributed ledger) systems as well as the crucial code sources
- It is not meant to be comprehensive, it lists only the most useful sources
- There is a bonus: code/software useful for Bitcoin algorithmic trading
The document is split into two major sections: Content and Code
- The Content section contains a reading list of mostly technical documents for Blockchain development
- The Code section contains a list of open-source blockchain and bitcoin projects
- WIP: send suggestions to @FrantaPolach or open a GitHub issue
- Original bitcoin paper (Satoshi)
- BIP70: Payments Protocol (Andresen)
- Working with the Payments Protocol (Andresen)
- BIP32: Hierarchical Deterministic (HD) Wallets (Wuille)
- BIP32 Implementation: Money Tree HD Wallet (BitVault)
- Script Reference
- Raw Transactions API
- Colored Coins Protocol Specification (Flavien)
- The Mastercoin Protocol Specification (Gross)
- R3 Corda
Kotlin/JVM(R3) - Hyperledger Fabric
Go(Hyperledger) - Sawtooth Lake Distributed ledger
python(Hyperledger) - BigchainDB
python(BigchainDB) - Sidechains: Elements Project
C++(Blockstream) - Scorex
Scala/JVM(IOHK)
- bitcoin
C++(Satoshi) - bitcoinj: Java implementation of a Bitcoin client-only node
Java(bitcoinj) - bitcoin-qt: Qt GUI for C++ Bitcoin client
C++(laanwj) - btcd: alternative full node bitcoin implementation written in Go
Go(conformal)
- bitcointools: python-based tools for the Bitcoin cryptocurrency system
python(gavinandresen) - pycoin: python-based Bitcoin utility library.
python(richardkiss) - bitcoin-testnet-box: Create a private, difficulty 1 bitcoin testnet
Shell(freewil) - transactions: Bitcoin for humans
python(ascribe) - Blockstack: Decentralized DNS for Blockchain Applications (blockstack)
- bitcoin-abe: Abe: block browser for Bitcoin and similar currencies
python(jtobey) - insight: A bitcoin blockchain API for web wallets
JavaScript(bitpay) - node-bitcoin-explorer: A Block Explorer clone built using node-bitcoin-p2p
JavaScript(bitcoinjs) - BTCplex
Go(tsileo) - blockparser: Fast, quick and dirty bitcoin blockchain parser
C++(znort987) - blockchain-explorer
JavaScript(hyperledger-explorer)
- Bitcoin arbitrage: opportunity detector
python(maxme) - gekko: A bitcoin trading bot
Node.js(askmike) - Redbit: Automated Bitcoin Trading Bot
python(hyppo) - ArBit: An automated Bitcoin arbitrage trading program.
Go(goteppo) - cryptrade: Node.js Bitcoin bot for Bitstamp/BTC-E/CEX.IO
CoffeeScript(pulsecat) - ga-bitbot: Genetic algorithm trade system for bitcoin
python - Algo execution engine
python(joequant) - Python Algorithmic Trading Library
python(gbeced) - BitMex market maker
python(BitMEX)