Infrastructure

From zaoniao
Jump to navigation Jump to search

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

Source

http://bitcoin.it/

See Also on BitcoinWiki