Bitcoin Asked on October 24, 2021
As I understand,
BitcoinCore is implementation of
Bitcoin protocol. And within BitCoinCore is wallet functionality located in wallet.cpp/h. My question is, if I have some other wallet that has complete copy of a blockchain (full node wallet) how it will be different from BitcoinCore? Which parts of the code that other wallet wont have in it?
Bitcoin Core is primarily a node (also known as a peer) intended to join the Bitcoin network. It includes wallet functionality, but its primary purpose is to interact with the Bitcoin p2p network, and help validate all blocks and transactions for adherence to the consensus rules, which are encoded in the Bitcoin Core source code.
Due to this, it also functions as the reference implementation of the Bitcoin Protocol.
If you had another piece of software that connects to the Bitcoin network and performs all functions a full node does (checking block and transaction validity, following the best chain, serving data to other nodes, etc.) and it offered a wallet, it would be functionally equivalent to Bitcoin Core.
However, there are not a whole lot of these softwares around - btcd is one of the most well known and complete ones, but most projects aim to just build a wallet on top of protocols like Simplified Payment Verification (SPV), electrum, or custom solutions to share only the data required by the wallet, instead of the entirety of the Bitcoin blockchain.
Note that even running Bitcoin Core in pruned mode disqualifies it from being a full node, as it is no longer able to fulfill the function of being able to serve historical data to other nodes.
Answered by Raghav Sood on October 24, 2021
1 Asked on November 29, 2020 by libertarian-monarchist-bot
1 Asked on November 18, 2020 by austinfoss
3 Asked on November 8, 2020 by mirsab-jastram
2 Asked on September 22, 2020 by dujon-w
1 Asked on September 3, 2020 by adam-mitchell
1 Asked on August 29, 2020 by nicklessguy
1 Asked on August 22, 2020 by isaac-chen
Get help from others!