Lisbonne : Programmer Bitcoin avec Bitcoin Core et Bitcoinjs


« My name is Stéphane Roche. I founded Bitcoin Studio to offer Bitcoin trainings and software development. Please find more information at bitcoin-studio.com

Où ? – The Block, 63 Rua Latino Coelho à Lisbonne

Quand ? – Samedi 12 octobre 2019 de 9h30 à 17h30

GOALS
The goal of this training is to explore the Bitcoin protocol and learn how to craft different kind of transactions and smart contracts, using Bitcoin Core RPC commands and the BitcoinJS library.

PUBLIC AND PREREQUISITE
This training is technical and only accessible to people comfortable with computers, Javascript (simple code) and command line. It is recommended to already have some understanding of Bitcoin, starting with the Introduction To Bitcoin course otherwise.

We will type Bash commands in a terminal and Javascript commands in a Node.js console. You will need to have Bitcoin Core, Node.js, jq and a code editor installed on your machine. If you are not able or don’t want to set up this environment on your machine you can download the Ubuntu Virtual Machine image that we provide, which includes all the required softwares. Also note that we will work in Regtest mode, which allows a fake blockchain local to the machine, so that we don’t need to download any blockchain data.

PROGRAMME
To begin, we will focus on Bitcoin Core and its API. Participants will install the software on their machine (or use the provided virtual machine), determine how to interact with a Bitcoin node and how to perform different kind of transactions. Starting with the simplest commands we will gradually explore how to create more complex transactions by hand, and by doing so learning a lot about Bitcoin.

In a second time we will work with the BitcoinJS library to compose a variety of transactions in Javascript. We will create P2PKH transactions, used to send bitcoins to someone; data anchoring using a special type of transaction with OP_RETURN; P2SH, which consists of locking bitcoins to a custom smart contract. We will spend some time investigating how the Bitcoin scripting language works and the different building blocks that allows us to construct a variety of smart contracts like puzzles, timelocks, hashlocks and multi-signatures.

At the end of this day, you will understand how Bitcoin transaction works internally, how to read a raw transaction, how to interact with a node, getting various information from it and sending transactions. You will also discover the Bitcoin scripting language and what is possible to do with Bitcoin smart contracts.

Finally, note that we will not spend too much time on the new Segwit transaction format as it already requires to master Bitcoin programming and is in any way essential to understand Bitcoin.

PLEASE CONFIRM YOUR PRESENCE BY MAIL AT rstephane@protonmail.com. It allows me to know how much people are really attending and better prepare the event! »