Bitcoin Stack Exchange is a question and answer site for Bitcoin crypto-currency enthusiasts. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

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?

share|improve this question
+1 for developing a bitcoin client in a new language – H_7 Nov 1 '11 at 1:05
Thanks, the process has its ups and downs;). – ThePiachu Nov 1 '11 at 1:10
up vote 10 down vote accepted

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 (a from scratch bitcoin implementation in Java) and 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.

share|improve this answer

You could investigate the work of Amir Taaki (genjix) from who wrote a separate bitcoin client.

The source code is available at and is the project site.

He is super active and responsive on irc at #bitcoinconsultancy

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

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