I have one very basic question,

I would like to know:

what programming languages are used to built bitcoin?

  • 1
    You might expand the question by asking what ALGORITHMS are used to build bitcoin.
    – Tom Au
    Commented May 21, 2014 at 17:38
  • 6
    @TomAu: That's a completely unrelated question. Commented May 21, 2014 at 21:07
  • @MeniRosenfeld: Aren't the choice of programming languages tied at least in part to the kinds of algorithms you use?
    – Tom Au
    Commented May 21, 2014 at 21:31
  • 2
    @TomAu: Not in the least. Most algorithms in use by Bitcoin are so commonplace that they've been ported to nearly every possible programming language. SHA256, ECDSA et al are all available in Bitcoin's native C++ as well as nearly any language you could name. This is a big part of why the various ports of Bitcoin's codebase sprung up so quickly: BitcoinJ (Java) already had the exact same building blocks to work with as Bitcoin Core (C++). Commented May 21, 2014 at 22:17
  • 4
    Asking 'what programming languages are used to build bitcoin' is like asking 'what programming languages are used to build TCP/IP'. Bitcoin, like TCP/IP, is a protocol - it is defined in a programming language neutral way, and can be implemented in any programming language. That said, you're most likely to find implementations in C++ and Java, but there's no reason why you couldn't write Bitcoin software in Python or anything you want.
    – Patashu
    Commented May 22, 2014 at 0:53

2 Answers 2


The reference implementation, Bitcoin Core, is written primarily in C++, with various resource files and scripts in other languages.

Another implementation, mainly used in lightweight clients like MultiBit and Bitcoin Wallet (Android), is bitcoinj. It is written in Java.


pretty much all of them. Bitcoin libraries are available in most major flavours.

The original Satoshi client is c++

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