Botswana Bitcoin & Blockchain Summit - Blockchain for Developers Course - 26 November 2016

Sat Nov 26, 08:30 - Sat Nov 26, 15:15

University of Botswana

ABOUT

The Blockchain Academy is excited to be hosting the Blockchain for Developers Course at the Botswana Bitcoin & Blockchain Summit in Gaborone, Botswana on the 26th November 2016.

The aim of this course is to provide junior and senior developers with hands-on experience in developing applications around the Bitcoin Protocol. At the end of the course you will know how to:
  • setup a development environment by installing and configuring the Bitcoin Core software
  • deploy a Bitcoin Server
  • use the Bitcoin Core RPC API to create wallets, check balances and make payments
  • use 3rd party libraries and APIs to abstract away many of the complexities of using the Bitcoin protocol
The course will not cover the internal aspects of Bitcoin such as its Proof of Work, transaction and blockchain structures and cryptography. 

This course is for developers who understand the basics of programming. The course will provide the information you need to understand bitcoin, the blockchain and how to start building blockchain-based applications. It also includes examples of applications that have been built using the blockchain, in South Africa as well as internationally.

Pre-requisites:
  • Basic object-oriented programming experience
  • Basic understanding of Javascript and Node.js
  • Own laptop with ability to access WIFI
  • Basic command line knowledge (navigating and creating directories, listing directory contents)
  • Windows users: please install a program like PUTTY
  • Mac and Linux users: you will not need extra software
The programming samples are at a junior developer level. The development OS will be Linux but because the commands are very simple. Students with only basic DOS experience should be comfortable. Development servers will be accessed over SSH.

COURSE CONTENT
 
Modules that will be covered are:

Section 1 - Basic Concepts                                                                     
Cryptographic Hash Functions
Example
Cryptographic Signatures
Blockchain
Transactions
Addresses
Wallets

Section 2 - Getting Started                                                                   
Setting up the Development Environment
Development runtime and languages
Node.js

Section 3 - Bitcoin Core                                                             
Compiling from Source
Pre-compiled Executable
Installing Bitcoin Core on Windows
Installing Bitcoin Core on Ubuntu
Bitcoin Core GUI
Bitcoin Core Daemon
Configuration File
Permissions
Bitcoin Daemon
Credentials
Running BitcoinD in testnet
Testnet Faucets
Data Directory
Configuration Parameters
Running as a Daemon
Start the daemon At Boot
Command Line Interface
Commands
Stopping the daemon
Getting Help
Getting Blockchain Info
Getting Wallet Info
Listing Accounts
Create a new Address
Send bitcoins to an Address
Backup Wallet
Validate an Address

Section 4 - 3rd Party Bitcoin Libraries and Web APIs                              
Web APIs
Blockchain.info
Sample Application
Libraries
Blockchain.info
Sample Application
Bitcore
Sample Application    
 

Please note: The course content is subject to change slightly.