setup peer node
Peer Node
A new network node is created when a user installs a Bitcoin client on his computer and begins to exchange information with other network participants. Most clients are open source, and users are free to choose from a range of software packages. Theoretically, a user could also develop his own client and let it communicate with the network. As long as the software packages are compliant with Bitcoin’s communication protocol, they can be used to create new peer nodes and exchange information with other existing nodes.
Bitcoin Core
The most popular client is known as Bitcoin Core. Bitcoin Core contains the full range of functions. The software creates a full node and can be controlled via a graphical user interface or via the command line.
Bitcoin Core keeps a local copy of the Bitcoin blockchain. The client verifies and relays the transactions and blocks. In addition, Bitcoin Core includes a wallet and a simple mining application. It therefore provides all three functions.
Verification function
The verification function covers all the activities that are necessary so that network participants can participate in the network on their own and verify all transactions independently. In particular, participants verify transaction messages, store these messages locally, and forward them to other network participants. The verification function requires a participant to maintain a copy of the Bitcoin blockchain and to verify the validity of all the blocks of the chain. The verification function also facilitates the exchange of blocks. Network nodes who have a verification function are known as full nodes.
Wallet function
A wallet provides safe storage for private keys and monitors and manages a node’s personal Bitcoin balance. Wallets are developed for end users and normally provide a graphical user interface that enables Bitcoin units to be received and sent easily. In addition, many wallets offer optional security mechanisms to improve the protection of the private keys.
Mining function
Nodes that have a mining function participate actively in generating new blocks and contribute to the extension of the Bitcoin blockchain.
References
https://galoy.io/praia-bitcoin-deploying-galoy-open-source-banking-in-self-hosted-environment/
https://bitcoin.org/en/full-node#initial-block-downloadibd
https://developer.bitcoin.org/devguide/wallets.html