Introducing BitcoinKit.framework



Summary:

In 2010, Satoshi suggested that client-only nodes should receive full blocks so they can scan for their own transactions instead of indexing them. The initial download would only require downloading headers as there cannot be any payments before the program's first run. The code for this mode is mostly implemented and available on Github, but it's not fully finished for end-users. Client-only re-implementations would not need to implement EvalScript at all or at most just implement the five ops used by the standard transaction templates. Satoshi's patch related to db.cpp and main.cpp files has been included in the context to address issues with verifying blocks in the best chain and checking proof of work. The issue with the size limits and the first transaction being coinbase have also been resolved. In the AcceptBlock() function, the inventory is relayed except for old inventory during initial block download. In the ProcessMessage() function, if the command is "tx," then the transaction is added to the work queue. If it's "getblocks," a block locator and hash stop are received and processed. Finally, if it's "block," the block is deserialized and processed.On July 16, 2013, Wendell expressed interest in an open dissection of what adding Simplified Payment Verification (SPV) support to bitcoind would take. Pieter Wuille introduced him to Eric Lombrozo, who expressed interest but has since gotten quite busy. If someone completes such a patch, Wendell said he is willing to fund or co-fund the endeavor. He is interested in encouraging the proliferation of options whenever possible. Mike Hearn offered to send Satoshi's old patch for SPV mode implementation, although it is no longer usable, it would indicate the basic cut lines.


Updated on: 2023-06-06T20:01:44.871585+00:00