|
Infrastructure
Jump to navigation
Jump to search
Contents
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
Software |
---|
bitcoin.pl |
bitcoind |
bitcoin-alt |
bitcoinj |
Pycoin |
wxBitcoin |
QBitcoin CORE |
Wallet
Software | Old JSON-RPC | New Wallet protocol |
---|---|---|
bitcoind | ||
bitcoinj | ||
wxBitcoin | ||
QBitcoin Wallet |
Miner
Software | Old JSON-RPC | New Wallet protocol |
---|---|---|
Cpu_Miner | ||
DiabloMiner | ||
Poclbm |
User Interface
Software | Old JSON-RPC | New Wallet protocol |
---|---|---|
Bitcoin-js-remote | ||
bitcoinj | ||
BitDroid | ||
QBitcoin API Client | ||
QBitcoin CLI | ||
QBitcoin GUI | ||
Java Bitcoin Client | ||
Spesmilo | ||
wxBitcoin |