I am making a parser in python for the 'data' part of the getwork json-rpc call.
All well so far but I am getting a bit confused why merkle root changes.
According to https://en.bitcoin.it/wiki/Block_hashing_algorithm
it should change every time a transaction is accepted. But as far as I can tell no transaction change has been incoming (checking with tcpdump) and even when I do two repeated calls so that the timestamp is the same it still changes.
What else contributes to merkle root being different on subsequent getwork calls?