An interactive Bitcoin tutorial for orange-pilled beginners. Illustrates technical Bitcoin concepts using JavaScript and some Bitcoin Core RPC commands. Programming experience is helpful, but not required.

Overview

Try Bitcoin

tryBitcoinScreenshot

Build & deploy

Try Bitcoin is an interactive Bitcoin tutorial inspired by and forked from Try Regex, which is inspired by Try Ruby and Try Haskell.

It illustrates Bitcoin fundamentals using JavaScript and some Bitcoin Core RPC commands. Programming experience is helpful, but not required.

Because this is targeted towards beginners, many low level details like address types, segwit, and fee calculation are not covered. Many of the exercises involve mocked data to some degree. In an effort to not overwhelm the reader, some things have been extremely simplified. For example, transaction details such as sequence numbers have been removed.

This project is not designed to teach exact commands and libraries. Many of the commands you see here are custom to this code base, and will not work quite the same outside of it. This material is intended to help users understand how Bitcoin works, and provide them with the context needed to go a level deeper.

After this tutorial, students that wish to continue their Bitcoin journey should feel comfortable enough picking up a technical book like Mastering Bitcoin or diving into more a comprehensive resource like Learn Me a Bitcoin.

Warning!

This tutorial asks the user to write JavaScript and it executes the raw input using the eval() command. Allowing a user to run arbitrary code is never a good idea. Use at your own risk!

Along those lines, the code in this project is for educational purposes only. Using any of this code for production, particulary anything that involves cryptographic operations, is not advised.

Installing

You will need Node (>= 0.9) and npm.

Try Bitcoin uses gulp for building and other development tools, and browserify for package management.

To install npm and gulp:

sudo apt install npm
sudo apt install gulp

To initialize the project, run the following:

npm install
gulp build

Running

It's static HTML, you don't need anything special to serve the files.

Helpful commands:

  • gulp build: turn LESS code into CSS, compile all JS with browserify so the browser can access node-flavored commonjs modules.
  • gulp dev: Build and run the site. Uses browser-sync to watch for any changes to the HTML, CSS, or JS code updates. Compiles and injects changes as they're made.

License

Try Bitcoin is released under the MIT license.

Comments
  • 🇫🇷 french version for this awesome tutorial

    🇫🇷 french version for this awesome tutorial

    I made a french version of your tuto because it's very easy to understand the basic of bitcoin for beginner but in France many people don't read English.

    What i did :

    • Simply translate the english text to french
    • Added a button in the header to change the language
    opened by kevin-btc 6
  • Try different formatting for different purposes

    Try different formatting for different purposes

    As someone going through your course, I see that both key terms and console commands are formatted in a similar way. That is slightly confusing to me. It would be much clearer if key terms were highlighted in a differently from console commands.

    Screen Shot 2022-10-07 at 4 45 39 PM
    opened by ecurrencyhodler 3
  • Create a 'Back' Button

    Create a 'Back' Button

    Hi Stasie, I was going through the tutorial, and wen trying to go back to the main page I was stuck in 'Lesson 2 - Signatures'. Reloading the page did not bring me to the first lesson and there was no button to go back. Regards,

    opened by jdrangosch 1
  • Text to include quotation marks in the command

    Text to include quotation marks in the command

    I didn't realize I needed to include quotation marks. Might be helpful to call that out. Here's my suggestion but feel free to revise the copy.

    This is such a cool project and I wish I had something like this when I first was exploring Bitcoin. Great work Satsie and thank you so much!

    opened by ecurrencyhodler 3
  • Cannot copy/paste from console: Highlighted text doesn't remain highlighted

    Cannot copy/paste from console: Highlighted text doesn't remain highlighted

    I'm having a hard time highlighting text and having it remain highlighted. Highlighting text is useful for copy and pasting items that were previously used as we continue along with the assignment. I've attached a screen recording of what it looks like when I do highlight a text!

    https://user-images.githubusercontent.com/32662508/194676505-74986849-8700-4744-8342-cbc551ad3f0f.mov

    opened by ecurrencyhodler 1
Cookbook Method is the process of learning a programming language by building up a repository of small programs that implement specific programming concepts.

CookBook - Hacktoberfest Find the book you want to read next! PRESENTED BY What is CookBook? A cookbook in the programming context is collection of ti

GDSC-NITH 16 Nov 17, 2022
This Repo Contains projects that demonstrate some concepts / algorithms / implemetation in some form of digital visualisation

Hacktoberfest 2022 OPEN FIRST Pull Request - GET STARTED WITH OPENSOURCE AND WIN SOME AWWSOME SWAGS ?? Contributors of Hacktoberfest 2022 This project

null 5 Nov 7, 2022
Patronum: Ethereum RPC proxy that verifies RPC responses against given trusted block hashes

Patronum Ethereum RPC proxy that verifies RPC responses against given trusted block hashes. Currently, most of the DAPPs and Wallets interact with Eth

null 14 Dec 7, 2022
This gem aims to let you quickly send SMS from JavaScript and Python using the Orange SMS API.

Orange SMS API ?? Orange SMS is a client library that allow you to send SMS with Javascript and Python using the Orange SMS API Disclaimer â›” This gem

Honorable Con 6 Aug 4, 2022
A tutorial for people that want to learn continuous delivery concepts by practicing.

Continuous delivery playground This tutorial walks you through setting up a continuous delivery pipeline from scratch. This guide is for people that w

Pablo Porto 7 Nov 24, 2022
A Browser extension that not only makes your browsing experience safe but makes it optimized

Sia Sia is a browser extension that not only makes your browsing experience safe but makes it optimized Table of Contents About The Project Built With

Arun Govind M 14 Feb 23, 2022
Grupprojekt för kurserna 'Javascript med Ramverk' och 'Agil Utveckling'

JavaScript-med-Ramverk-Laboration-3 Grupprojektet för kurserna Javascript med Ramverk och Agil Utveckling. Utvecklingsguide För information om hur utv

Svante Jonsson IT-Högskolan 3 May 18, 2022
A "Basic-to-Lisp" compiler. But Basic is not real Basic, and Lisp is not real Lisp.

Basic2Lisp A "Basic-to-Lisp" compiler. But Basic is not real Basic, and Lisp is not real Lisp. Syntax Print-Sth Put some-value to standard output. PRI

Hana Yabuki 5 Jul 10, 2022
Statistics plugin for RemNote that will give you some helpful numbers, charts and heatmap for your knowledge base.

RemNote statistics plugin Features This plugin will give you the following statistics: Retention rate Number of cards due in future Type of buttons yo

Henrik 3 Sep 9, 2022
Connect Web Integration illustrates the integration of Connect-Web in various JS frameworks and tooling

Connect Web Integration Connect Web Integration is a repository of example projects using Connect-Web with various JS frameworks and tooling. It provi

Buf 43 Dec 29, 2022
JSON Visio is data visualization tool for your json data which seamlessly illustrates your data on graphs without having to restructure anything, paste directly or import file.

JSON Visio is data visualization tool for your json data which seamlessly illustrates your data on graphs without having to restructure anything, paste directly or import file.

Aykut Saraç 20.6k Jan 4, 2023
Hemsida för personer i Sverige som kan och vill erbjuda boende till människor på flykt

Getting Started with Create React App This project was bootstrapped with Create React App. Available Scripts In the project directory, you can run: np

null 4 May 3, 2022
Kurs-repo för kursen Webbserver och Databaser

Webbserver och databaser This repository is meant for CME students to access exercises and codealongs that happen throughout the course. I hope you wi

null 14 Jan 3, 2023
This is a project that is in partial fulfillment of our CSCI 318 - Programming Language Concepts class of the Fall 2022 semester in New York Institute of Technology

StreetEasier A hub to search for apartments and roommate matching This project was bootstrapped with Create React App. Want to Test Yourself? 1.) Clon

Kennette James Maddela 3 Dec 5, 2022
A port of bitcoin-core that will (over time) become TS friendly.

bitcoin-core A modern Bitcoin Core REST and RPC client to execute administrative tasks, multiwallet operations and queries about network and the block

null 6 Nov 22, 2022
Bitcoin terminal tracker is a terminal app which allow you to track bitcoin price from your terminal

BTC Terminal Tracker Bitcoin terminal tracker is a terminal app which allow you to track bitcoin price from your terminal. In this version (V1.2) I ch

Sina yeganeh 9 Jul 27, 2022
this project show how to deal with core programming scriptprogramming and local storage

this project show how to deal with core programming scriptprogramming and local storage

Sameh Tantawy 5 Jul 25, 2022