https://github.com/jimmysong/programmingbitcoin
Repository for the book
https://github.com/jimmysong/programmingbitcoin
Last synced: 8 months ago
JSON representation
Repository for the book
- Host: GitHub
- URL: https://github.com/jimmysong/programmingbitcoin
- Owner: jimmysong
- License: other
- Created: 2017-12-17T03:26:38.000Z (about 8 years ago)
- Default Branch: master
- Last Pushed: 2024-05-20T22:31:48.000Z (over 1 year ago)
- Last Synced: 2025-04-14T08:05:57.532Z (9 months ago)
- Language: Python
- Size: 38.4 MB
- Stars: 1,803
- Watchers: 84
- Forks: 686
- Open Issues: 118
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
- awesome-blockchains - **Programming Bitcoin from Scratch** - FREE (Online Source Version) -- _[Chapter 6 - Script](https://github.com/jimmysong/programmingbitcoin/blob/master/ch06.asciidoc) - How Script Works • Example Operations • Parsing the Script Fields • Combining the Script Fields • Standard Scripts • p2pk • Problems with p2pk • Solving the Problems with p2pkh • Scripts Can Be Arbitrarily Constructed • Conclusion ++_ (Blockchain Books / Samples)
- awesome-blockchains - **Programming Bitcoin from Scratch** - FREE (Online Source Version) -- _[Chapter 6 - Script](https://github.com/jimmysong/programmingbitcoin/blob/master/ch06.asciidoc) - How Script Works • Example Operations • Parsing the Script Fields • Combining the Script Fields • Standard Scripts • p2pk • Problems with p2pk • Solving the Problems with p2pkh • Scripts Can Be Arbitrarily Constructed • Conclusion ++_ (Blockchain Books / Samples)
- awesome-blockchains - **Programming Bitcoin from Scratch** - FREE (Online Source Version) -- _[Chapter 6 - Script](https://github.com/jimmysong/programmingbitcoin/blob/master/ch06.asciidoc) - How Script Works • Example Operations • Parsing the Script Fields • Combining the Script Fields • Standard Scripts • p2pk • Problems with p2pk • Solving the Problems with p2pkh • Scripts Can Be Arbitrarily Constructed • Conclusion ++_ (Blockchain Books / Samples)
README
#[Programming Bitcoin](https://learning.oreilly.com/library/view/programming-bitcoin/9781492031482/)
###BY[ JIMMY SONG](https://github.com/jimmysong)
#####[O'Reilly Media, Inc.March 2019](https://learning.oreilly.com/library/publisher/oreilly-media-inc/)
# LICENSE
Repository for the book to be published by O'Reilly.
This book will be licensed under [CC-BY-NC-ND](https://creativecommons.org/licenses/by-nc-nd/4.0/legalcode) once the book is published.
##Setting Up
To get the most out of this book, you’ll want to create an environment where you can run the example code and do the exercises. Here are the steps required to set everything up:
###1. Install Python 3.5 or higher on your machine:
Windows:
[https://www.python.org/ftp/python/3.6.2/python-3.6.2-amd64.exe
](https://www.python.org/ftp/python/3.6.2/python-3.6.2-amd64.exe
)
macOS:
[https://www.python.org/ftp/python/3.6.2/python-3.6.2-macosx10.6.pkg](https://www.python.org/ftp/python/3.6.2/python-3.6.2-macosx10.6.pkg)
Linux
#####See your distro docs (many Linux distributions, like Ubuntu, come with Python 3.5+ preinstalled)
###2. Install pip by downloading this script: [https://bootstrap.pypa.io/get-pip.py](https://bootstrap.pypa.io/get-pip.py).
###3. Run this script using Python 3:
`$ python3 get-pip.py`
###4. Install Git. The commands for downloading and installing it are at [https://git-scm.com/downloads](https://git-scm.com/downloads).
###5. Download the source code for this book:
`$ git clone https://github.com/jimmysong/programmingbitcoin`
`$ cd programmingbitcoin`
###6. Install virtualenv:
`$ pip install virtualenv`
###7. Install the requirements:
Linux/macOS
`$ virtualenv -p python3 .venv`
`$ . .venv/bin/activate`
`(.venv) $ pip install -r requirements.txt`
Windows
`C:\programmingbitcoin> virtualenv -p`
`C:\PathToYourPythonInstallation\Python.exe .venv`
`C:\programmingbitcoin> .venv\Scripts\activate.bat`
`C:\programmingbitcoin> pip install -r requirements.txt`
###8. Run Jupyter Notebook:
`(.venv) $ jupyter notebook`
`[I 11:13:23.061 NotebookApp] Serving notebooks from local directory:
/home/jimmy/programmingbitcoin`
`[I 11:13:23.061 NotebookApp] The Jupyter Notebook is running at:
[I 11:13:23.061 NotebookApp] http://localhost:8888/?token=
f849627e4d9d07d2158e3fcde93590eff4a9a7a01f65a8e7`
`[I 11:13:23.061 NotebookApp] Use Control-C to stop this server and shut down all kernels (twice to skip confirmation).`
`[C 11:13:23.065 NotebookApp]`
`Copy/paste this URL into your browser when you connect for`
`the first time, to login with a token:`
`http://localhost:8888/?token=f849627e4d9d07d2158e3fcde93590eff4a9a7a01f65a8e7`
You should have a browser open up automatically, as shown in [Figure P-1](https://raw.githubusercontent.com/jimmysong/programmingbitcoin/master/images/prbc_0001.png).

MORE INFO AT: [https://learning.oreilly.com/library/view/programming-bitcoin/9781492031482/preface01.html#setting_up](https://learning.oreilly.com/library/view/programming-bitcoin/9781492031482/preface01.html#setting_up)