A curated list of blockchain, cryptocurrency and fintech resources for software engineers and developers in the space.
- General Resources
- Computer Science
- Bitcoin
- Getting Started
- History of Bitcoin
- Technical Resources
- Online Courses
- Video Presentations
- Documentaries
- Podcasts
- Blogs
- Advanced Trading
- Running a Node
- Visualizations
- Mining
- Security
- Privacy
- Lightning Network
- Realtime Exchange Data
- Discussion Forums
- Wallets
- Blockchain Explorers
- Libraries
- Playgrounds
- Articles
- Fork Stats
- Extras
- Ethereum
- Cryptography
- Economics
- Identity
- Infrastructure
- Investors
- Research
- Solutions
- Technologies
- Taxes
- Awesome Blockchain
- Awesome Decentralization
- Awesome Decentralized
- Awesome Peer-to-peer
- Bitcoin Directory
- Bitcoin SIG - Resources
- Blockchain Developer Resources
- Blockchain Stuff
- The Bitcoin Ecosystem
- Bitcoin.org - Resources
- Decentral Station
- A Brief Introduction to Smart Contracts (Charles Hoskinson)
- A Gentle Introduction to Smart Contracts (Anthony Lewis)
- Contract (Bitcoin wiki)
- DAPP development playlist
- Formalizing and Securing Relationships on Public Networks (Nick Szabo)
- Great Chain of Numbers (Tim Swanson)
- Smart Contracts (Nick Szabo)
- Smart Contracts playlist
- Pycoin Python-based Bitcoin and alt-coin utility library.
- sx sx - command line Bitcoin to empower the sysadmin
- bx Bitcoin Command Line Tool
- txwatcherA little Python utility that lets you monitor Bitcoin addresses through Blockchain Websocket API and perform custom callbacks.
- hellobitcoin A collection of simple programs which can generate bitcoin wallets, create and sign transactions, and send transactions over the bitcoin network.
- block.io
- BlockCypher
- Gem.co
- Insight
- Chain.com
- Toshi by Coinbase
- Smartbit
- Cashier-BTC - self-hosted payment gateway.
- Computer Science Resources
- Berkeley - Secure and Intelligent Programming
- Blockchain University
- CCCC - Certified Bitcoin Professional
- Duke - Innovation and Cryptoventures
- MIT - Blockchain Technologies: Decentralize All The Things
- Princeton - Bitcoin and Cryptocurrency Technologies
- Stanford - Bitcoin and Crypto Currencies
- Stanford - Bitcoin Engineering
- The Blockchain Education Network
- University of Illinois - Cryptocurrency Security
- University of Nicosia - MOOC/MSc in Digital Currency
- University of Maryland - Science of Cryptocurrency
- Byzantine Fault Tolerance (Wikipedia)
- Byzantine Fault Tolerance Consensus Papers
- Consensus and Organising Coffee
- Paxos - A Really Beautiful Algorithm for Distributed Consensus
- Simpler Consensus with Raft
- State machine replication
- What We Talk About When We Talk About Distibuted Systems
- A Graduate Course in Applied Cryptography
- Coursera - Cryptography 1
- Cryptographic Hash Functions (Wikipedia)
- Elliptic Curve Cryptography - A Gentle Introduction
- Matthew Green - Cryptography Resources
- The Matasano Crypto Challenges
- The Math Behind Bitcoin
- Understanding Cryptography
- Zero Knowledge Proofs - An Illustrated Primer
- Explain Bitcoin Like I'm Five
- The Bitcoin Whitepaper written by Satoshi Nakamoto
- The Value of Blockchains
- How Bitcoin Works (non technical) (5 min video)
- How Bitcoin Works (a bit technical) (5 min video)
- How Bitcoin Works (very technical) (26 min video)
- How Bitcoin Works Under the Hood (22 min video)
- Bitcoin 101 (Balaji Srinivasan)
- Bitcoin for Beginners (Andreas Antonopoulos)
- Beginner's Guide to Bitcoin by CoinDesk
- Bitcoin is Like...
- The Rise of the Cypherpunks
- Cypherpunk Research Archive
- Complete Writings of Satoshi Nakamoto
- The Book of Satoshi
- Original Announcement Email Thread
- Historical Literature - work that preceded Bitcoin
- Digital Gold
- The Bitcoin Standard
- The Age of Cryptocurrency
- History Timeline
- Bryan Bishop's Bitcoin Event Transcripts
- Premature Obituaries
- Bitcoin's Family Tree
- Princeton on the History of Cryptocurrencies (video lecture)
- Bitcoin & Cryptocurrency Technologies (Princeton's 300 page textbook)
- Bitcoin Developer Guide
- Bitcoin Ninja
- Bitcoin Protocol Reference
- Bitcoin Stack Exchange (Technical Q & A)
- The Bitcoin Wiki
- Comprehensive Academic Bitcoin Research Archive
- How the Bitcoin Protocol Actually Works
- Learning Bitcoin from the Command Line
- Mastering Bitcoin by Andreas Antonopolous
- Grokking Bitcoin An in-depth technical book with rich illustrations.
- Epic List of Bitcoin Books
- Epic List of Many Blockchain Books
- Programming the Blockchain in C#
- Using the Raw Bitcoin Protocol
- A Peek Under Bitcoin's Hood
- How to Parse the Bitcoin Blockchain
- Bitcoin's Balance of Power
- Coursera Cryptocurrency Course (61 videos in 11 sections)
- Khan Academy Bitcoin Course (9 ~10 minute videos)
- Bitcoin 101 Blackboard Series (7+ hours of tutorials)
- Introduction to Bitcoin (create a free trial)
- Introduction to Digital Currency - MOOC offered by University of Nicosia
- Princeton Video Lectures on Bitcoin and Cryptocurrency Technologies
- BitcoinExplainers.com Epic List of Videos
- Another Epic List of YouTube Talks
- Baltic Honeybadger Conference
- Bitcoin Africa Conference
- Bitcoin Investor Conference
- Bitcoin London 2012
- Breaking Bitcoin
- Construct
- Cryptolina
- Dubai Bitcoin Conference 2015
- Dutch Blockchain Conference
- European Bitcoin Conference 2011
- North American Bitcoin Conference 2017
- On-Chain Scaling Conference
- San Jose Bitcoin Conference 2013
- Scaling Bitcoin Workshop
- Texas Bitcoin Conference
- The Bitcoin Conference 2016
- The Future of Bitcoin
- World's First Bitcoin Conference (2011)
- Banking on Bitcoin
- Bitcoin Films
- Bitcoin in Uganda
- Bitcoin: The End of Money as We Know It
- Hash Power
- Inside Man (Morgan Spurlock)
- Life Inside a Secret Chinese Bitcoin Mine
- The Bitcoin Doco
- The Bitcoin Gospel
- The Bitcoin Phenomenon
- The Rise and Rise of Bitcoin
- Ulterior States
- Bitcoin Tech Talk (Various)
- BitFury Research
- BitMEX Research
- Bitslog (Sergio Demian Lerner)
- Chris Burniske
- The Control (Nick Tomaino)
- Eric Lombrozo
- Financial Cryptography (Ian Grigg)
- Fred Wilson
- Freedom to Tinker
- Gavin Andresen
- Hacking, Distributed (Emin Gün Sirer)
- Jimmy Song
- JP Koning
- Matt Corallo
- The Memory Pool (Satoshi Nakamoto Institute)
- Money and State (Erik Voorhees)
- Nicolas Dorier
- nopara73
- Oleg Andreev
- Peter Todd
- Richard Gendal Brown
- Tim Swanson
- Truthcoin (Paul Sztorc)
- Tuur Demeester
- Unenumerated (Nick Szabo)
- Vinny Lingham
- Willy Woo
- Wladimir van der Laan
- The Bitcoin Pub's video training series
- Intro to Crypto Trading
- An Overview of Cryptocurrencies for the Savvy Investor
- Comparisons of coins, exchanges, wallets
- CoinGecko coin statistics
- BitInfoCharts coin statistics
- BitcoinMarkets Reddit community
- BitcoinMarkets flair stats
- Podcast: Magic Internet Money
- Podcast: BTCVIX
- Sifr Data - Financial Analytics
- Twitter Mention Stats
- Realtime Twitter Sentiment
- TradingView
- Volatility Index
- Whale Calls - large market movements
- WhalePool trading community
- Whaleclub Telegram community
- Woobull Charts
- Why Run a Full Node?
- How to Run a Full Node
- Bitcoin Core Config File Generator
- Bitseed Node Hardware
- Incomplete functions for you to solve which demonstrate various aspects of a full node in a simplified way (python)
- Bitcoin City
- Blocks & Transactions by Geography
- Bitcoin Globe Transactions
- BitBonkers Blocks & Transactions
- Chainflyer Blocks & Transactions
- Live Node Geographic Map
- Live Node Network ASN Map
- Bitforce5 Transaction Relationships
- Daily Blockchain Transactions Relationships
- BitListen - Transactions by Value
- Bitcoin Monitor - Transactions by Value
- Federal Bitcoin - Transactions by Value
- Interaqt - Transactions by Value
- Value Visualizer - Transactions by Value
- Fiat Leak - Realtime Exchange Flows
- Blockchain 3D Explorer 3D and VR visualizations of bitcoin transactions
- The History of Bitcoin Mining
- How Bitcoin Mining Works (in layman's terms)
- Getting Started Guide
- Bitcoin Mining Profitability Calculator
- Realtime Mining Statistics
- Cryptocoin mining relative profitability
- Mining pool hashrate distribution
- Organ of Corti (mining / network analysis blog)
- Bitcoin's Security Model: A Deep Dive
- Bitcoin Security & Storage 101 (Pamela Morgan)
- Coindesk's Bitcoin Storage Guide
- Cryptocurrency Security Standard (for enterprises)
- Glacier: A protocol for high security Bitcoin storage
- Intro to Paper Wallets & Cold Storage (James D'Angelo)
- Jolly Roger's Security Guide for Beginners (online OPSEC)
- Paper Wallet Cold Storage Guide
- Securing Your Wallet
- Open Bitcoin Privacy Project's Wallet Reviews
- Anonymous Bitcoin Book - how to maintain your privacy
- Bitcoin.org's Privacy Guide
- How TumbleBit Works
- How to Run Bitcoin as a Tor Hidden Service on Ubuntu
- ZeroLink: The Bitcoin Fungibility Framework
- Explained in Layman's Terms
- Technical Specifications (BOLTs)
- Lightning Network FAQ
- Lightning Resources
- Lightning Network Developer site
- Andreas Antonopolous on Bitcoin, Lightning, and Streaming Money
- The Lightning Network (Bitcoin Q&A) by Andreas Antonopolous
- All Market Tickers in One Chart
- All Crypto Market Caps
- Crypto Market Cap Visualization
- Bitcoinity
- Bitcoin Average
- Bitcoin Market Metrics
- Bitcoin Wisdom
- Blockchain.info
- CoinDesk Bitcoin Price Index
- Cryptowatch
- Winklevoss Price Index
- Bitcoin Subreddit
- Bitcoin Beginners Subreddit
- Bitcoin IRC Channel
- Bitcoin Core Slack
- Bitcoin Core Telegram
- Bitcoin Talk Forum
- Bitcoin Development Mailing List
- Hardware wallet (best security): Trezor or Ledger Nano S
- Desktop wallet: Electrum
- Android wallet: Samourai Wallet
- iPhone wallet: GreenAddress
- Web wallet (not recommended - worst security)
- Awesome CryptoCoinJS
- Bitcore Library
- Bitcoinjs-lib
- Cryptocoin
- BlockTrail SDK NodeJS
- bcoin Javascript bitcoin library for node.js and browsers
- BlockTrail SDK Python
- btctxstore simple library to store/retrieve information in bitcoin transactions using OP_RETURN
- pybitcointools Python library for Bitcoin signatures and transactions from Vitalik Buterin. Not really maintained
- pycoin Python library for Bitcoin keys, signatures, transactions. Includes full VM implementation and tools for manipulating keys (ku) and transactions (tx).
- BitcoinJ
- XChange Library that provides a simple and consistent API for interacting with 50+ Bitcoin currency exchanges.
- NBitcoin Comprehensive Bitcoin library for the .NET framework.
- BitcoinLib The most complete, up-to-date, battle-tested .net Library and RPC Wrapper for Bitcoin and Altcoins in C#.
- QBitNinja An Open Source and powerful blockchain API
- Script Playground
- Bitcoin IDE Bitcoin Script for dummies
- Debug Script Execution
- Bitcore Playground
- Mnemonic Code generator
- blockchain-demo A web-based demonstration of blockchain concepts
- Fork Usage Comparison
- Mining Stats
- Chain Split Monitor
- Mempool Comparisons
- Fork Support by Company
- BCH Node Stats
- Awesome Bitcoin
- Awesome Bitcoin
- Awesome Bitcoin Developer
- Bitcoin Core
- Bitcoin Foundation
- Bitcoin Github
- Bitcoin Reddit
- Bitcoin Talk
- Bitcoin Wiki
- Coin Center
- Open Bitcoin Privacy Project
- Programming Bitcoin Reading List
- How can I contribute?
- Ethereum Whitepaper by Vitalik Buterin
- Ethereum Yellow Paper by Gavin Wood
- What is Ethereum? A Step-by-Step Beginners Guide
- What is Ethereum? A Simple Explanation (Youtube Video)
- Ethereum: The World Computer
- Ethereum in Layman's Terms
- Vitalik Buterin explains Ethereum
- Ethereum Development Tutorial
- Build Dapps using Meteor
- Ethereum Annoucement on Bitcoin Talk
- Ethereum Launches 'Cryptocurrency 2.0' Network
- Launching the Ether Sale (Original Announcement)
- CoinCulture's Guide to the EVM
- Diving Into The Ethereum Virtual Machine
- Common Tests for Ethereum Implementations
- go-ethereum
- A popular Ethereum client with its own EVM implementation (core/vm directory)
- Parity in Rust
- Another popular Ethereum client with its own EVM implementation (ethcore directory)
- cpp-ethereum
- An Ethereum client that generates the consensus test suite (libevm/VM.cpp)
- Pyethereum in Python
- Another client with probably the best readable EVM implementation (ethereum/vm.py)
- Py-EVM in Python
- An alternate Python implementation designed to be highly configurable and modular.
- EthereumJ in Java
- A client with its own EVM implementation
- eth-isabelle
- An EVM implementation for theorem provers
- Modeling EVM in the K framework (whitepaper)
- An EVM implementation for K framework
- hevm
- An EVM implementation written in Haskell with debugging in mind
- Burrow
- An EVM implementation in Go extended with a native name registry and permissioning layer
- Ethereumjs-VM
- Implements Ethereum's VM in JS
- Solidity
- The most popular programming language for Ethereum contracts
- Solidity Guide
- Solidity Workshop
- Awesome Solidity
- Viper
- A language with overflow-checking, numeric units but without unlimited loops
- Bamboo
- A language without loops but with explict constructor invocation at the end of every call
- REMIX
- An IDE containing an EVM code debugger
- debug_traceTransaction method
- An instruction-wise trace information provided by go-ethereum
- Ethereum Function Signature Database
- A database for deciphering
0x165ffd10
intorestart(bytes32,bytes32)
.
- A database for deciphering
- Mythril
- A blockchain exploration tool that indexes all contracts on the network, containing a disassembler, an ABI function detector and a control flow analyzer.
- Comes with a --fire-laser option
- Powered by laser-ethereum
- porosity
- A reverse enginering tool, a disassembler, an ABI function detector and a decompiler that also highlights vulnerabilities
- evmdis
- A disassembler for EVM code
- Securify
- A tool that strives to achieve no false-negatives
- The implementation seems not public as of now
- Oyente
- An automatic EVM code analyzer based on symbolic execution and Z3 SMT solver
- Dr. Y's Ethereum Contract Analyzer
- A symbolic executor for EVM code
- Rise of the World Computer
- Ethereum: Rise of the World Computer (Hacker News thread)
- SkyNet is the future
- The End of Corporations – Decentralized Organizations
- The War for Technology and the End of Democracy
- Ethereum Github
- Ethereum Wiki
- Tools and Technologies in the Ethereum Ecosystem
- Ethereum 101
- Ethereum Introduction for Software Developers
- Ethereum Resource List
- Ethereum Resources
- Ethereum Starter Guide
- Ethstats
- State of the Dapps
- Swarm
- Ethereum Javascript API
- Awesome CryptoEconomics
- Cryptoeconomics playlist (video)
- Cryptoeconomy
- Cryptonomics
- How Society Will Be Transformed by Crypto-economics
- The New Economics of Blockchain
- A Simple Explanation of How Money Moves Around the Banking System
- Perry Mehrling
- Positive Money
- Understanding Money
- Bitcoin Investment Trust
- Bitcoin Venture Capital Investments (CoinDesk)
- Blockchain Capital
- BnkToTheFuture.com
- Boost VC
- Brave New Coin - Venture Capital Investments
- Coinsilium
- Digital Currency Group
- Panterra Capital
- Bitcoin and blockchain bibliography
- Bitcoin Wiki - Research
- Blockchain News - Research Library
- Brave New Coin - Industry Research
- CABRA - Comprehensive Academic Bitcoin Research Archive
- CoinDesk - Top 10 Papers of 2015
- DCC Library
- Epic List of Bitcoin Research
- Hashing It - Research Resources
- Input Output Hong Kong (IOHK) - Library
- Jeremy Clark - Bibliographies
- Nakamoto Institute - Literature
- Nakamoto Institute - Research
- The Blockchain
- Bitfury
- Blockchain at Berkeley
- CryptoIQ
- Dfinity
- ICL Centre for Cryptocurrency Research and Engineering
- Institute for Blockchain Studies
- The Initiative for Cryptocurrencies and Contracts
- UCL Centre for Blockchain Technologies
Important Github Links:
https://github.com/ethereum/web3.js/
This is the Ethereum compatible JavaScript API which implements the Generic JSON RPC spec. Wiki at https://github.com/ethereum/wiki/wiki/JavaScript-API
Broader Tech Content:
Challenges of building reliable oracles: https://www.infoq.com/presentations/blockchain-oracle-problems
To do:
- Create table of contents
- Organize resources
- Add additional resources
Future ideas for expanding this resource:
- List of blockchain startups (and specifically ones that are hiring)
- Different software engineering positions that are in high demand in the space
- Different use cases and value of blockchain tech (both on a personal and enterprise level)