How can I start development in Bitcoin?

0

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.

Ajinkya

Posted 2017-09-27T07:34:53.283

Reputation: 1

Answers

1

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

https://github.com/bitcoin/bitcoin

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

FedFranzoni

Posted 2017-09-27T07:34:53.283

Reputation: 490

0

BitcoinServerSetup

How setup bitcoind in ubuntu/linux system.

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

Extract bitcoin-0.15.0.1-x86_64-linux-gnu.tar.gz

Using tar -xvf bitcoin-0.15.0.1-x86_64-linux-gnu.tar.gz

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

server=1

testnet=1 #For start using testnet

rpcuser=rpcuser

rpcpassword=somesecretpassword

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

Saddam Husen

Posted 2017-09-27T07:34:53.283

Reputation: 11

0

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"

VP.

Posted 2017-09-27T07:34:53.283

Reputation: 151