|
|
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 |