A list of opininated links to resources useful to blockchain and bitcoin developers.
- Bitcoin explained and made simple (3m:24s) by The Guardian
- The Essence of How Bitcoin Works (Non-Technical) (5m:24s) by Curious Inventor
- Blockchain University — Bitcoin & the Blockchain: An Introduction (26m:16s) by @ChristopherA
- Bitcoin 101 - What is Bitcoin? (22m:32s) by James D'Angelo WBN
- Blockchain University — Bitcoin Keys Addresses and Wallets (1h:06m:43s) by @ChristopherA
- Bitcoin Sidechains (5m:54s) by Diginomics
- What is Bitcoin? by CoinDesk
- What is Bitcoin? by CNN Money
- The Impact of the Blockchain Goes Beyond Financial Services by Don an Alex Tapscott
- How Bitcoin Works in 5 Minutes (Technical) (5m:25s) by Curious Inventor
- How Bitcoin Works Under the Hood (22m:24s) by Curious Inventor
- Mechanics of Bitcoin (1h:19m:49s) by Princeton Bitcoin and Cryptocurrency Technologies Online Course
- Programming Bitcoin Youtube Channel by Murray
- Coding Multi-Signature Addresses by D'Angelo
- Mastering Bitcoin by Andreas M. Antonopoulos LLC
- [Elliptic Curve Digital Signature Algorithm and its Applications in Bitcoin (http://cs.ucsb.edu/~koc/ecc/project/2015Projects/Malvik+Witzoee.pdf) by Arnt Gunnar Malvik and Bendik Witzoee
- Programming Bitcoin Transaction Scripts by Kofler
- Developer’s Introduction to Bitcoin by Buterin
- How Bitcoin Works Under the Hood by Driscoll
- Bitcoins the hard way: Using the raw Bitcoin protocol by Shirriff
- Bitcoin mining the hard way: the algorithms, protocols, and bytes by Shirriff
- Cryptographic Currencies Crash Course (C4) by Aljosha Judmayer and Edgar Weipp
- The libbitcoin Tutorial by Taaki
- How to Parse the Bitcoin Blockchain by Ratcliff
- Signing Offline Transactions by Maxwell
- 2 of 2 escrow example by Maxwell
- 2 of 3 multisig example by Andresen
- How to decrypt messages in the blockchain from btcmsg by ripper234
Sidechains are new blockchains, but are backed by Bitcoin rather than being an altcoin. Using "two-way pegging" these sidechains provide a method for developers to make changes and play around with blockchain rules in a separate blockchain, while keeping these coins linked to Bitcoin.
- Ask Dr. Bitcoin: What are Side-Chains
- Introduction To Sidechains and Blockchain 2.0
- Sidechains, Treechains, the TL;DR by Sanders
- Side Chains: The How, The Challenges and the Potential by Buterin
- Sidechain Technical Feasibility Discussion (discussion)
- Alternative Chains / merged mining
- The Initial Two-Way Pegging proposal by Adam Back
- Blockstream Whitepaper Enabling Blockchain Innovations with Pegged Sidechains
- Tree-chains preliminary summary by Todd
- Sidechain Elements Project - Open source github project investigating and experiment with various bitcoin sidechain concepts
- CoinGecko has charts for a number of altcoins, but more importantly, attempts to measure developer and user community activity.
At Blockchain University we use a number of Javascript based examples to teach the more technical details of Bitcoin. You are not required to have an in-depth knowledge of Javascript, but learning some basics is very useful.
If using a Mac, you'll need some basic knowledge how to use the Terminal and the Mac's command line interface, and you'll need to install brew, node and git. A basic tutorial on how to do this is at https://github.com/ChristopherA/intro-mac-command-line
You can also use this script which sets up your Mac automatically, but the above teaches you how do to do it manually https://github.com/blockchainu/prepare-osx-for-blockchain-webdev
Javascript is in both server (node) and client (browser) development. Some basics of Javascript are common to both. Here are some resources for learning about Javascript that are generally applicable to both platform.
- Learn Javascript - a free online book with interactive exercises.
Server-based Javascript typically uses Node. These Javascript learning resources are node specific:
- I like the command-line based nodeschool.io tutorials, as they require you to both use the command line and to create real working code. These are the basic interactive tutorials, but there are many more available.
- Learn javascripting basics
npm install -g javascripting
- Learn Node basics:
npm install -g learnyounode
- Learn git:
npm install -g git-it
Most of these courses teach general Javascript, but tend to be more client-side Javascript oriented.
Free online courses:
- Code Academy: Javascript is an online interactive course that comes highly recommend. The course says 10 hours, but one of our students reported that it took him about 17 hours over 5 days, and found Q&A forum and glossary both helpful.
- How to Learn JavaScript Properly
- Introduction to Computing Principles
- Introduction to JavaScript Development
Some non-free online courses:
Some general Javascript online books in eBook (in rough order of preference)
These tools can be cloned from github to allow you to use your browser to play around with various bitcoin capabilities:
- Bip32 Generator
git clone https://github.com/bip32/bip32.github.io.git ; cd bip32.github.io ; open index.html
lets you create Bip32 Deterministic Heirarchical Keys (prefix xpub* and xprv*) based on a simple brainwallet (aka arbitrary mnemonic) passphrase. - Bip39 Mnemonic Code Converter
npm install bip39 ; npm run compile
lets you create Bip39 mnemonics (typically 12 words) used for deterministic keys, typically for Bip32.
- Bitcoin 101 - Getting Started With Bitcore - A Full JavaScript Implementation of Bitcoin
- Bitcoin Quick Tools - Simple browser-based app (loaded locally) that is Bitcore.js. Has key and address generator and simple transaction tool. Useful working example of browserfy bitcore.js code.
You'll need bitcoin testnet coins while developing apps with bitcoin. List in rough order of reliability and number of coins offered.
- Sidechains Elements Project Testnet Faucet - 10 BTC per day per ip
- TP Faucet - 1.9 BTC per request
- BIP32 - Bitcoin Deterministic Heirarchical Keys
- Good article on Deterministic Wallets
- Discussion of BIP32 Advantages and Flaws
- The BIP0032 Standard
- Bip32 Generator
git clone https://github.com/bip32/bip32.github.io.git ; cd bip32.github.io ; open index.html
lets you create Bip32 Deterministic Heirarchical Keys (prefix xpub* and xprv*) based on a simple brainwallet (aka arbitrary mnemonic) passphrase. - Blockstack Keychains JS