A list of opininated links to resources useful to blockchain and bitcoin developers
- Mastering Bitcoin by Andreas M. Antonopoulos LLC
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.
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
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.
- http://javascriptissexy.com/how-to-learn-javascript-properly/
- http://web.stanford.edu/class/cs101/
- https://www.udemy.com/refactoru-intro-js/?dtcode=DvGKZ5c30m1I
Some non-free online courses:
- http://www.lynda.com/JavaScript-tutorials/Nodejs-Essential-Training/141132-2.html
- https://www.udemy.com/courses/search?ref=home&q=javascript
Some general Javascript online books in eBook (in rough order of preference)
http://eloquentjavascript.net https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide http://bonsaiden.github.io/JavaScript-Garden/
- Bitcoin 101 - Getting Started With Bitcore - A Full JavaScript Implementation of Bitcoin
- https://github.com/wobine/blackboard101/blob/master/BitcoreDayOne.html - code for the above
- 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.
- 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.
- Blockchain Explorers
- CoinGecko has charts for a number of altcoins, but more importantly, attempts to measure developer and user community activity.
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.
- The Initial Two-Way Pegging proposal by Adam Back
- Blockstream Whitepaper Enabling Blockchain Innovations with Pegged Sidechains
- [Sidechain Elements Project] (https://github.com/ElementsProject/elementsproject.github.io/) - Open source github project investigating and experiment with various bitcoin sidechain concepts