Overview
Components
- Peer/Node -- Maintains connections with the BitCoin network, and relays BitCoin traffic based on policies.
- Wallet -- Maintains private key database, and controls balances for the user.
- UI -- End-user interface. Could be a wx/Qt/GTK GUI, CLI, Android app, iPhone app, etc...
- Miner -- Tries to solve blocks for the wallet.
Protocols
- p2p -- Used for communication between Peers/Nodes, and also between your personal Peer/Node and your Wallet(s)
- JSON-RPC -- Old wallet-control protocol; suitable for web integration
- wallet -- Used for communication between your Wallet(s) and your Miner(s) and User Interface(s)
Diagram
___________
| |--(p2p protocol)---ooooooooooooooo
| Peer/Node |--(p2p protocol)--o Other Peers o
|___________|--(p2p protocol)---ooooooooooooooo
|
(p2p protocol)
_____|_____ _________
| | | |
| Wallet |--(wallet protocol)--| Miner |
|___________| |_________|
|
(wallet protocol)
_____|__________
| |
| User Interface |
|________________|
Implementations
Peer/Node
Wallet
Miner
User Interface