Subject: [Bitcoin-development] Please review: getmemorypool (BIP 22) revision

From: "Luke-Jr" <[email-masked]>
Date: Fri, 11 May 2012 15:33:53 +0000

I have finally got around to revising the BIP 22 draft, and would appreciate 
further review: https://en.bitcoin.it/wiki/BIP_0022

I believe this revision addresses Geir's last email in March, as well as some 
practical problems some pools recently came across.

To summarize the changes from the last revision in March:
- The submitblock(<data>, <params>) method is renamed to getmemorypool
- Requesting a job now uses getmemorypool(<params>) to provide client
  capabilities and other information to the server
- Longpolls use a parameter in the getmemorypool request, not necessarily a
  separate URI
- The client can inform the server of its own size and sigop requirements in
  advance
- The client can request detailed transaction data from the server, necessary
  to sanely manipulate the transactions included in the final block without
  discarding fees or making the block invalid due to not having enough
- With both client and server support, blocks can be proposed before wasting
  time mining them, to ensure they are otherwise valid
- Servers can be arranged into single logical services, with failover and load
  balancing (similar to the getwork X-Host-List and X-Switch-To extensions).

You can see the full diff here:
https://en.bitcoin.it/w/?title=BIP_0022&action=historysubmit&diff=26408&oldid=25544

Luke