is there any reference or authoritative resource, or book on bitcoin programming?

Bitcoin is dubbed "programmable money" but there is no obvious resource for how to do it aside from trudging through subsections of hack-prone forum.

Altcoins many times are simply find and replacing the word "bitcoin" in the code base and clients, so it seems even in that case their programmers have a thin understanding of various bitcoin programming paradigms.

I'm sure a "book" would be outdated by the time it was published, but regardless it would be helpful to have everything in one place for a potential target audience that doesn't want to reverse engineer commit history just to see whats going on.

  • I was thinking the same yesterday: it is missing. Its also a broad topic ... – Roland Kofler Dec 10 '13 at 19:24
  • @Roo yes it is a broad topic, there seem to be some people able to make theoretical tweaks to the protocol (Zerocoin, Mastercoin) and still some features of the protocol still not implemented anywhere. If the source material was more easily accessible, especially by more academically minded folks, then more could happen – CQM Dec 10 '13 at 20:32
  • I started to write a bitcoin transaction programming tutorial: goo.gl/s0kKbe – Roland Kofler Dec 24 '13 at 0:08
  • you can read Mastering Bitcoin for free on-line here chimera.labs.oreilly.com/books/1234000001802/index.html – Sebastian Xawery Wiśniowiecki Dec 15 '14 at 21:18

It is in the works. Mastering Bitcoin by Andreas M. Antonopoulos


| improve this answer | |

I'm writing a blog series for beginners called "Basic Blockchain Programming" that might suit your needs. It starts from scratch until building the first raw transaction:


It's still a work in progress, though (4 or 5 posts left).

| improve this answer | |

As far as I know a book about bitcoin programming doesn't exists.

The best resource you will find is the bitcoin wiki that is describing the bitcoin protocols very well.

July 2014 Edit

Now there is a book called Mastering Bitcoin that is available in early release.

I believe that this book match to what you are looking.

You can buy here on Here

| improve this answer | |
  • This answer has already been given. – jorijnsmit Jul 26 '14 at 14:34

Bitcoin Programming Book

Bitcoin Programming Book by Mostafa Farghaly

PDF https://gumroad.com/l/Bitcoin-Programming-book

Paperback http://www.amazon.com/Bitcoin-Programming-Mostafa-Farghaly/dp/1500176826/

| improve this answer | |
  • they don't accept btc? alright thanks! – CQM Jun 12 '14 at 22:45

The best sources that I found for free:

  1. Mastering Bitcoin
  2. Developer Documentation

I didn't check this out Bitcoin Programming by Mostafa Farghaly but looks like a good wisdom source.

| improve this answer | |

I would post this as a comment to another answer, but I don't have enough reputation.

I haven't read Basic Blockchain Programming, but have read at least parts of all the other books mentioned here. The one I found most useful was Bitcoin Programming by Mostafa Farghaly. Be warned that the English is poor (but totally understandable), and there are some typos in the code. That being said, it will point you in the right direction. It has some basic code examples in JavaScript, Python, PHP, and Ruby. Most of the examples are in Python. If you're new to programming, I would recommend checking out Think Python first.

| improve this answer | |

Programming Bitcon by Jimmy Song

Programming Bitcoin by Jimmy Song

ISBN: 9781492031482

| improve this answer | |
  • well yes there are several good sources 6 years later :) – CQM Apr 18 '19 at 7:11

I find this wonderful software a very interesting style of programming bitcoin and you can consider it as a book with this title "Asynchronous C++ Bitcoin programming". The name of the software is

libbitcoin - Asynchronous C++ Bitcoin library

Mainly it used the famous boost library ASIO. It provides developers with an asynchronous I/O model using a modern C++ approach.

The libbitcoin library took advantage of the algorithmic aspect of recent C++ 11/14 (lambdas heavily used in the coding, also an understanding of the new introduced pointers, variadic functions, bind function, promise & future is a must).

| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.