<p>There are several Bitcoin Clojure projects, but none of them appear to have a full rewrite of Bitcoin as a goal.</p>

<p>Of particular interest is <a href="https://github.com/johnwalker/bitcoin-protocol" rel="noreferrer">https://github.com/johnwalker/bitcoin-protocol</a> , which is an implementation of the Bitcoin networking protocol. It can be used to communicate with peers within Bitcoin networks. </p>

<p>Rewriting Bitcoin core in another language is doable, as the btcd developers have done porting it to the Go language - <a href="https://github.com/btcsuite/btcd" rel="noreferrer">https://github.com/btcsuite/btcd</a> , however it took almost a year of development time between several developers to become fully functional. </p>

CC BY-SA 3.0
2015-02-04T19:37:07.680Z
2015-02-04T19:37:07.680Z
Yamamushi
<p>Has there been any attempt to rewrite Bitcoin in Clojure? I know about <a href="http://code.google.com/p/bitcoinj/">BitcoinJ</a>, so I imagine that should be easy to port. But what about a "pure" version? Without calling Java directly? Easily portable to Scheme or other Lisps-style languages? Thanks.</p>

CC BY-SA 3.0
2014-12-12T04:20:10.527Z
There is a pure Haskell implementation [haskoin](https://github.com/haskoin/haskoin). Not sure if that helps.
Chuck Batson
CC BY-SA 3.0
2017-04-03T18:39:43.780Z
// , Who is using it?
Nathan Basanese
CC BY-SA 3.0
2012-11-14T00:17:53.177Z
Not sure, but there are others that have expressed interest.  e.g., http://bitcointalk.org/index.php?topic=970.msg13154#msg13154
Stephen Gornick
CC BY-SA 3.0
2012-11-14T09:34:28.677Z
Not seen anything on GitHub - have thought about doing this myself, but am busy with other projects. Go for it!
Gary
<client><port>
Has anyone ported the Bitcoin software to "pure" Clojure?
Felipe
# Has anyone ported the Bitcoin software to "pure" Clojure?

(Asked by: username_0 on 2012-11-13)

Has there been any attempt to rewrite Bitcoin in Clojure? I know about [BitcoinJ](http://code.google.com/p/bitcoinj/), so I imagine that should be easy to port. But what about a "pure" version? Without calling Java directly? Easily portable to Scheme or other Lisps-style languages? Thanks.

**Tags:** client, port

> **Comments:**
> **username_3**: Not sure, but there are others that have expressed interest.  e.g., http://bitcointalk.org/index.php?topic=970.msg13154#msg13154  
> **username_4**: Not seen anything on GitHub - have thought about doing this myself, but am busy with other projects. Go for it!  
> **username_1**: There is a pure Haskell implementation [haskoin](https://github.com/haskoin/haskoin). Not sure if that helps.  
> **username_2**: // , Who is using it?  

---

## 1 answers

### Answer by username_5 on 2015-02-04. Score: 6 | Accepted answer

There are several Bitcoin Clojure projects, but none of them appear to have a full rewrite of Bitcoin as a goal.

Of particular interest is <https://github.com/johnwalker/bitcoin-protocol> , which is an implementation of the Bitcoin networking protocol. It can be used to communicate with peers within Bitcoin networks.

Rewriting Bitcoin core in another language is doable, as the btcd developers have done porting it to the Go language - <https://github.com/btcsuite/btcd> , however it took almost a year of development time between several developers to become fully functional.


---

