The software Bukz is built upon uses P2P and RCP to maintain the blockchain. In this article we explain the protocols and how they are used to maintain the Bukz blockchain. If you’re unsure of what a blockchain is, you can catch up by reading our post “What is a blockchain?”.
P2P (Peer to Peer)
A peer to peer network is a network in which peers are connected and share information. The peers are computer systems that can both share and receive information. In regards to the Bukz blockchain, the P2P protocol is utilized to ensure the blockchain ledger is always up to date and accurate. While the Bukz daemon is running, it’s constantly updating a list of peers available to send and receive its version of the blockchain, thus ensuring everyone has the most recent version. When you first start your Bukz daemon it must “Synchronize” this is your daemon catching up to the rest of the network.
RPC (Remote Procedure Call)
RPC is a protocol that allows one program to request a procedure from another program. For example when a service such as the Blockchain Explorer is running, it can make a request to the Bukz daemon and ask for information such as what is the current blockchain height, or the current difficulty level. The RPC commands available depend upon the software at hand. The sender and receiver both agree upon what procedures can be used to call information or perform actions. The WalletD RPC protocol allows for procedures to be performed such as “getBalance” or “createAddress”. This is what allows applications to be built upon the network. In most cases a username and password is set on the daemon so the requesting service must be authorized to perform an action or request information. Developers may be interesting in reading about how to setup WalletD for use in their services.