The question is published on by Tutorial Guruji team.
What are the bare data necessities that a lightweight client would have to get from a server client in order to perform basic wallet tasks (show balance, transaction history, number of confirmations, send coins)?
For example, a simple, light client could store all Txs where any of the given addresses from the wallet were used, but one could also try trimming all data from those Txs that aren’t related to their addresses.
What is the bare minimum of data a client needs in order to function?
In order to correctly show balance and be able to create new transactions, a thin client needs the following information:
- Current block number
- OutPoint information – hash of the incoming transaction and position of the output relevant to the client.
- Signature script, as it needs to be included in a Tx
- Amount of Bitcoins send/received in the given transaction
- Block number in which the transaction was included (for knowing the amount of confirmations)
(Does anyone have an idea what else could be useful or needed?)