<p>I think you are confusing some things here. A blockchain like Bitcoin, Ethereum, Ripple, or Hyperledger is a <em>protocol</em> in first place. And a protocol is agnostic to programming languages used.</p>

<p>What you are relating to are <em>reference implementations</em> of the protocol. The Bitcoin protocol has the famous Bitcoin implementation (later Bitcoin Core) initially written by Satoshi Nakamoto in C++. But there are so much more clients available in so much more programming languages.</p>

<p>Ethereum, for instance, has three <em>reference implementations</em>, the Eth client in C++, the Geth client in Go-Lang, and the PyEthApp in Python. And there are even more implementations in Rust, Ruby, etc. available.</p>

<p>I could go on with the other blockchains you mentioned, but you get the idea. A protocol can be implemented in any <em>suitable</em> language if desired. If you want an exotic example, have a look at Lisk which tries to build the full blockchain stack in pure JavaScript.</p>

CC BY-SA 3.0
2017-08-07T19:16:06.340Z
An interesting case is R3 Corda, which is written in a not-so mainstream language Kotlin (recently added to the Android development kit). Some use functional languages like [Scala](https://github.com/input-output-hk/etc-client) and [Haskell](https://github.com/input-output-hk/cardano-sl).
Sergei Tikhomirov
CC BY-SA 3.0
2017-08-08T06:58:56.227Z
and Aeternity uses ERLANG to code their crypto currency. A language designed by Ericson for telecom applications.
pebwindkraft
CC BY-SA 3.0
2017-08-08T11:47:10.863Z
Thank you for the clarification, I was indeed confusing some things, but this is also the information I want. So by all means go on. If I understood correctly, implementations are built on top of the protocol and can be programmed in various languages. Am I right?
DottoreM
CC BY-SA 3.0
2017-08-08T11:56:54.990Z
Yes, that's what I tried to say with that answer.
q9f
CC BY-SA 3.0
2017-08-07T12:34:52.723Z
2017-08-07T12:34:52.723Z
q9f
<p>Is there a reference that can give me information on the programming languages used in Blockchain development?</p>

<p>For example, Bitcoin is C++, Ethereum makes use of C++, Golang and Python, whilst its smart contracts are based usually on Solidity, Serpent and LLL.</p>

<p>What about other (more enterprise based) implementations? Ripple, Hyperledger, Quorum, Multichain, Monax. </p>

<blockchain><development>
Programming Languages used
DottoreM
# Programming Languages used

(Asked by: username_0 on 2017-08-07)

Is there a reference that can give me information on the programming languages used in Blockchain development?

For example, Bitcoin is C++, Ethereum makes use of C++, Golang and Python, whilst its smart contracts are based usually on Solidity, Serpent and LLL.

What about other (more enterprise based) implementations? Ripple, Hyperledger, Quorum, Multichain, Monax.

**Tags:** blockchain, development


---

## 1 answers

### Answer by username_1 on 2017-08-07. Score: 7 | Accepted answer

I think you are confusing some things here. A blockchain like Bitcoin, Ethereum, Ripple, or Hyperledger is a *protocol* in first place. And a protocol is agnostic to programming languages used.

What you are relating to are *reference implementations* of the protocol. The Bitcoin protocol has the famous Bitcoin implementation (later Bitcoin Core) initially written by Satoshi Nakamoto in C++. But there are so much more clients available in so much more programming languages.

Ethereum, for instance, has three *reference implementations*, the Eth client in C++, the Geth client in Go-Lang, and the PyEthApp in Python. And there are even more implementations in Rust, Ruby, etc. available.

I could go on with the other blockchains you mentioned, but you get the idea. A protocol can be implemented in any *suitable* language if desired. If you want an exotic example, have a look at Lisk which tries to build the full blockchain stack in pure JavaScript.

> **Comments:**
> **username_2**: An interesting case is R3 Corda, which is written in a not-so mainstream language Kotlin (recently added to the Android development kit). Some use functional languages like [Scala](https://github.com/input-output-hk/etc-client) and [Haskell](https://github.com/input-output-hk/cardano-sl).  
> **username_3**: and Aeternity uses ERLANG to code their crypto currency. A language designed by Ericson for telecom applications.  
> **username_0**: Thank you for the clarification, I was indeed confusing some things, but this is also the information I want. So by all means go on. If I understood correctly, implementations are built on top of the protocol and can be programmed in various languages. Am I right?  
> **username_1**: Yes, that's what I tried to say with that answer.  

---

