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.
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
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
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
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"