When simplewallet is connected to a local daemon, the data throughput is mostly irrelevant because communication is done completely locally. But I am curious about how much data/information is transferred between a remote node and simplewallet?
For example: Let's say simplewallet needs to update your wallet for the last 720 blocks (1 day). Let's also say that over that span blocks are averaging 10 txs/block and 1.5 kB/tx, or 15 kB/block. Finally, let's say that 10 txs belong to your wallet over that span. How much data would be used by simplewallet? Is any block information not shared with simplewallet?
Edit 16 Sept 2016:
I'm going to be a little more specific in my question, and also add a bounty, as I'd like to know the specifics but also recognize that this will require a bit of work.
In general, the following information is available in a block (I may be missing some info and am happy to add/correct this list):
- blob
- block header
- depth
- difficulty
- hash
- height
- major_version
- minor_version
- nonce
- orphan_status
- prev_hash
- reward
- timestamp
- miner_tx
- version
- unlock_time
- vin / gen / height
- vout w/ each output (amount, target key)
- extra
- signatures
- all transactions in block
- all details of transactions (hashes, key amounts, key offsets, key images, tx extra, siganatures, etc)
Questions:
- Does simplewallet receive all of this information from the daemon for every block (and all transactions in the block) or only a subset of this information?
2. In either case, is there information that simplewallet does currently receive that it does not always need (for example, if the transaction does not belong to a wallet) and therefore sending that information could have been avoided if designed to minimize data transfer?
EDIT 17 Oct 2016: I've decided to spin off the last part of this question into a new question as it is fairly different in scope.
Follow-up question for those keeping track: Is it possible to create a lighter wallet than simplewallet without giving up a view key?
x
height, and tell us how much data was used. Describe the process used.