Bitcoin Forum

Bitcoin => Development & Technical Discussion => Topic started by: Sam25 on December 10, 2017, 08:02:06 AM



Title: How are bitcoin clients built?
Post by: Sam25 on December 10, 2017, 08:02:06 AM
I know how Bitcoin works, but I am new to Bitcoin development. I want to develop a bitcoin client as a side project for learning purposes, and on reading I came across Bitcoin Core. My question is, are all the currently available wallets and clients built on top of the Bitcoin Core, or is there any other way of building them from scratch?


Title: Re: How are bitcoin clients built?
Post by: floaks on December 10, 2017, 11:59:13 AM
All wallets implement the same technique but they don't all use the Bitcoin core source. Best way to start is to Google for something like "compile Bitcoin source"

Several options available. You can develop a c++ client, a Node client, and so on. Include this in your search.
You can also check some open source wallets on Github. For example Electrum:
https://github.com/spesmilo/electrum (https://github.com/spesmilo/electrum)

An example to compile the original wallet is:
https://bitzuma.com/posts/compile-bitcoin-core-from-source-on-ubuntu/ (https://bitzuma.com/posts/compile-bitcoin-core-from-source-on-ubuntu/)


Title: Re: How are bitcoin clients built?
Post by: hopeAo on December 12, 2017, 08:04:48 AM
I know how Bitcoin works, but I am new to Bitcoin development. I want to develop a bitcoin client as a side project for learning purposes, and on reading I came across Bitcoin Core. My question is, are all the currently available wallets and clients built on top of the Bitcoin Core, or is there any other way of building them from scratch?

I think these links should help

https://medium.com/@CoinMeteor/how-to-set-up-the-bitcoin-core-wallet-client-for-beginners-and-send-your-first-transaction-819c6d5b9790

https://en.bitcoin.it/wiki/Clients



Title: Re: How are bitcoin clients built?
Post by: shensu on December 13, 2017, 12:49:49 AM
You can either try to embed the code from a reference node implementation and work on top of it. Your other option is to re-implement the parts of the node that you need for your client.


Title: Re: How are bitcoin clients built?
Post by: hamburger on December 13, 2017, 03:41:12 AM
I know how Bitcoin works, but I am new to Bitcoin development. I want to develop a bitcoin client as a side project for learning purposes, and on reading I came across Bitcoin Core. My question is, are all the currently available wallets and clients built on top of the Bitcoin Core, or is there any other way of building them from scratch?

The answer that you are looking for is yes.

Setting up Bitcoin Core on your local server or remote server that will give you four executable files depending on your system used, it will be bitcoind, bitcoin-cli, bitcoin-tx, and bitcoin-qt and these are the executable files that your client use to interact with the bitcoin network. As an example, you need to create a bitcoin.conf file to accept JSON-RPC commands. Just take not e of the rpcauth cookie that is needed in the bitcoin.conf file if you do not want to be driven insane trying to find out why you cannot interact with the daemon.

H