Difference between revisions of "Wallet protocol"

From Bitcoin Wiki
Jump to: navigation, search
(Initial project page)
 
(Coop mining)
Line 6: Line 6:
 
* Never use human-formatted data (for example, use base bitcoin units, not Decimal BitCoins nor Tonal BitCoins, which be left to the GUI)
 
* Never use human-formatted data (for example, use base bitcoin units, not Decimal BitCoins nor Tonal BitCoins, which be left to the GUI)
 
* Don't require polling (for example, broadcast events for new transactions, or changes to current "work")
 
* Don't require polling (for example, broadcast events for new transactions, or changes to current "work")
 +
* Cooperative mining (see below)
  
 
=== Debates ===
 
=== Debates ===
Line 11: Line 12:
 
* Binary is more efficient to parse and create
 
* Binary is more efficient to parse and create
 
* Plaintext is easier for humans to debug
 
* Plaintext is easier for humans to debug
 +
 +
=== Cooperative mining ===
 +
The protocol should support submitting completed blocks, such that it can get (just) addresses from an upstream pool to generate to, and send all completed blocks to that pool for verification and counting (and possibly submission to the network). This can reduce the pool's load.

Revision as of 01:01, 23 February 2011

This is a project to define a new wallet protocol addressing problems with the current JSON-RPC implementation in bitcoind. Please feel free to make edits. If you disagree with something, turn it into a "debate".

Requirements

  • Never use human-formatted data (for example, use base bitcoin units, not Decimal BitCoins nor Tonal BitCoins, which be left to the GUI)
  • Don't require polling (for example, broadcast events for new transactions, or changes to current "work")
  • Cooperative mining (see below)

Debates

Binary or plaintext

  • Binary is more efficient to parse and create
  • Plaintext is easier for humans to debug

Cooperative mining

The protocol should support submitting completed blocks, such that it can get (just) addresses from an upstream pool to generate to, and send all completed blocks to that pool for verification and counting (and possibly submission to the network). This can reduce the pool's load.