Infrastructure: Difference between revisions

From Bitcoin Wiki
Jump to navigation Jump to search
Luke-jr (talk | contribs)
bitcoin-alt
Luke-jr (talk | contribs)
BitCoinJ
Line 38: Line 38:
|-
|-
| [[bitcoin-alt]]
| [[bitcoin-alt]]
|-
| [[BitCoinJ]]
|-
|-
| [[Pycoin]]
| [[Pycoin]]
Line 52: Line 54:
|-
|-
| [[bitcoind]] || {{Table Value Yes}} || {{Table Value No}}
| [[bitcoind]] || {{Table Value Yes}} || {{Table Value No}}
|-
| [[BitCoinJ]] || {{Table Value Unknown}} || {{Table Value No}}
|-
|-
| [[wxBitcoin]] || {{Table Value Yes}} || {{Table Value No}}
| [[wxBitcoin]] || {{Table Value Yes}} || {{Table Value No}}
Line 76: Line 80:
|-
|-
| [[Bitcoin-js-remote]] || {{Table Value Unknown}} || {{Table Value No}}
| [[Bitcoin-js-remote]] || {{Table Value Unknown}} || {{Table Value No}}
|-
| [[BitCoinJ]] || {{Table Value Unknown}} || {{Table Value No}}
|-
|-
| [[BitDroid]] || {{Table Value Unknown}} || {{Table Value No}}
| [[BitDroid]] || {{Table Value Unknown}} || {{Table Value No}}

Revision as of 15:05, 7 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
bitcoin-alt
BitCoinJ
Pycoin
wxBitcoin
QBitcoin CORE

Wallet

Software Old JSON-RPC New Wallet protocol
bitcoind Yes No
BitCoinJ ?? 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
BitCoinJ ?? No
BitDroid ?? No
QBitcoin API Client ?? No
QBitcoin CLI ?? No
QBitcoin GUI ?? No
Java Bitcoin Client ?? No
Spesmilo Yes No
wxBitcoin No No