How can I start development in Bitcoin? I am a software engineer and i am interested in development and programming part of bitcoin. A little guidance would be appreciated.


I think you should start by getting the source code of the official client:


You will find introductory information in the Readme. Once you will have a clear view of what you want to do, you can play with the code by creating your own branch.

Note that, improvements and other changes in bitcoin are tracked by the BIP system: https://en.bitcoin.it/wiki/Bitcoin_Improvement_Proposals Also, you should get familiar with the concept of soft/hard forks.

Refer to the https://bitcoin.org website, where you can find all the basic documentation (e.g. https://bitcoin.org/en/developer-reference)

That said, you will soon find out that many technical details are not well documented (or even not documented at all). The only comprehensive way of understanding how it works is, as with many other complex programs, to read the source code. Also, IMHO, a good understanding of the basic blockchain concepts is strongly recommended.

Other useful docs: https://bitcoin.org/en/developer-documentation



How setup bitcoind in ubuntu/linux system.

Download link https://bitcoin.org/en/download

Extract bitcoin-

Using tar -xvf bitcoin-

Result…………………………………….. bitcoin-0.15.0/ bitcoin-0.15.0/bin/ bitcoin-0.15.0/bin/bitcoin-cli bitcoin-0.15.0/bin/bitcoind bitcoin-0.15.0/bin/bitcoin-qt bitcoin-0.15.0/bin/bitcoin-tx bitcoin-0.15.0/bin/test_bitcoin bitcoin-0.15.0/include/ bitcoin-0.15.0/include/bitcoinconsensus.h bitcoin-0.15.0/lib/ bitcoin-0.15.0/lib/libbitcoinconsensus.so bitcoin-0.15.0/lib/libbitcoinconsensus.so.0 bitcoin-0.15.0/lib/libbitcoinconsensus.so.0.0.0 bitcoin-0.15.0/share/ bitcoin-0.15.0/share/man/ bitcoin-0.15.0/share/man/man1/ bitcoin-0.15.0/share/man/man1/bitcoin-cli.1 bitcoin-0.15.0/share/man/man1/bitcoind.1 bitcoin-0.15.0/share/man/man1/bitcoin-qt.1 bitcoin-0.15.0/share/man/man1/bitcoin-tx.1

cd bitcoin-0.15.0/bin/

Now run ./bitcoind -deamon

Result :: Bitcoin server starting

Go go home folder cd ~

See hidden folder using ls -a

Now You see .bitcoin folder Enter into that using cd .bitcoin

Create new file :: touch bitcoin.conf.

Paste in bitcoin.conf file


testnet=1 #For start using testnet



Set Path to bitcoin-0.15.0/bin/ or You enter in bitcoin-0.15.0/bin/ folder and then run command

./bitcoin-cli getbalance return balance


I liked the book http://www.lulu.com/shop/paul-huang/a-dissection-of-bitcoin/ebook/product-22527951.html together with http://chimera.labs.oreilly.com/books/1234000001802/index.html

The dissection of bitcoin is really good, but you should follow it reading the source code in the exact version mentioned in the book. After that I read the commit versions from the next versions to understand what was changing over the time.

Beside it, I played with https://bitcore.io/ (one of the best bitcoins implementations out there) in the testnet (get some coins from a faucet, do some transactions, some multisign and try to understand what you are doing, the outputs and inputs..).

take a look in the guides - https://bitcore.io/guides - and try to start a pet project to get "your hands dirty"

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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