<p>You could investigate the work of Amir Taaki (genjix) from <a href="http://bitcoinconsultancy.com">http://bitcoinconsultancy.com</a> who wrote a separate bitcoin client.</p>

<p>The source code is available at <a href="https://gitorious.org/libbitcoin/libbitcoin">https://gitorious.org/libbitcoin/libbitcoin</a>
and <a href="http://libbitcoin.org">http://libbitcoin.org</a> is the project site.</p>

<p>He is super active and responsive on irc at #bitcoinconsultancy</p>

CC BY-SA 3.0
2011-09-10T11:36:30.067Z
2011-09-10T11:36:30.067Z
BitcoinMedia
<p>I don't believe anyone has published a detailed spec anywhere if that is what you are hoping for.  There is some information on the bitcoin wiki, but your best option is to review the existing implementations.</p>

<p>Check out <a href="http://code.google.com/p/bitcoinj/">BitCoinJ</a> (a from scratch bitcoin implementation in Java) and <a href="http://code.google.com/p/bitcoinsharp/">BitCoinSharp</a> (a C# port of BitCoinJ).  They are not full implementations yet, but they are very far along and can do most of the tasks of a bitcoin client. </p>

<p>No matter what language you plan to create your implementation in, looking at these is very valuable because they are very thoroughly commented and much easier to understand than the official C++ client.</p>

CC BY-SA 3.0
2011-09-10T14:27:26.033Z
2011-09-10T14:27:26.033Z
Erv Walter
<p>I want to develop my own Bitcoin client in a language that is not yet supported. Are there any resources that can be referenced to help me, or any other future developer with the task, or is the source code for the official client (and other clients) the only thing to go by? Has anyone made some cohesive documentation of the Bitcoin protocol, that if followed would guarantee the finished client would be able to operate along with the existing clients?</p>

<client><development><protocol>
How to start programming your own Bitcoin client?
ThePiachu
# How to start programming your own Bitcoin client?

(Asked by: username_0 on 2011-09-10)

I want to develop my own Bitcoin client in a language that is not yet supported. Are there any resources that can be referenced to help me, or any other future developer with the task, or is the source code for the official client (and other clients) the only thing to go by? Has anyone made some cohesive documentation of the Bitcoin protocol, that if followed would guarantee the finished client would be able to operate along with the existing clients?

**Tags:** client, development, protocol


---

## 2 answers

### Answer by username_2 on 2011-09-10. Score: 11 | Accepted answer

I don't believe anyone has published a detailed spec anywhere if that is what you are hoping for. There is some information on the bitcoin wiki, but your best option is to review the existing implementations.

Check out [BitCoinJ](http://code.google.com/p/bitcoinj/) (a from scratch bitcoin implementation in Java) and [BitCoinSharp](http://code.google.com/p/bitcoinsharp/) (a C# port of BitCoinJ). They are not full implementations yet, but they are very far along and can do most of the tasks of a bitcoin client.

No matter what language you plan to create your implementation in, looking at these is very valuable because they are very thoroughly commented and much easier to understand than the official C++ client.


---

### Answer by username_1 on 2011-09-10. Score: 6

You could investigate the work of Amir Taaki (genjix) from <http://bitcoinconsultancy.com> who wrote a separate bitcoin client.

The source code is available at <https://gitorious.org/libbitcoin/libbitcoin>
and <http://libbitcoin.org> is the project site.

He is super active and responsive on irc at #bitcoinconsultancy


---

