Infrastructure

From BitcoinWiki
This is the approved revision of this page, as well as being the most recent.
Jump to: navigation, search

Overview[edit]

Components[edit]

  • 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[edit]

  • 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[edit]

___________
| |--(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[edit]

Peer/Node[edit]

Software
bitcoin.pl
bitcoind
bitcoin-alt
bitcoinj
Pycoin
wxBitcoin
QBitcoin CORE

Wallet[edit]

Software Old JSON-RPC New Wallet protocol
bitcoind
bitcoinj
wxBitcoin
QBitcoin Wallet

Miner[edit]

Software Old JSON-RPC New Wallet protocol
Cpu_Miner
DiabloMiner
Poclbm

User Interface[edit]

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[edit]

http://bitcoin.it/

See Also on BitcoinWiki[edit]