Infrastructure: Difference between revisions

From Bitcoin Wiki
Jump to navigation Jump to search
Luke-jr (talk | contribs)
QBitcoin components
Luke-jr (talk | contribs)
Line 36: Line 36:
|-
|-
| [[bitcoind]]
| [[bitcoind]]
|-
| [[Pycoin]]
|-
|-
| [[wxBitcoin]]
| [[wxBitcoin]]

Revision as of 20:53, 3 March 2011

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)
  • 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
bitcoind
Pycoin
wxBitcoin
QBitcoin CORE

Wallet

Software Old JSON-RPC New Wallet protocol
bitcoind Yes No
wxBitcoin Yes No
QBitcoin Wallet ?? No

Miner

Software Old JSON-RPC New Wallet protocol
Cpu_Miner Yes No
DiabloMiner Yes No
Poclbm Yes No

User Interface

Software Old JSON-RPC New Wallet protocol
Bitcoin-js-remote ?? No
BitDroid ?? No
QBitcoin API Client ?? No
QBitcoin CLI ?? No
QBitcoin GUI ?? No
Java Bitcoin Client ?? No
Spesmilo Yes No
wxBitcoin No No