What do the hashes in counterparty server log mean?

Since few releases ago, block-related Counterparty server log lines contain hashes like these:

2017-01-19-T02:46:35+0800 [INFO] Block: 1084654 (3.03s, hashes: L:c9d42 / TX:b9d92 / M:fc962)
2017-01-19-T02:51:08+0800 [INFO] Block: 1084655 (1.94s, hashes: L:3662c / TX:3c99b / M:546da)

In case you are wondering about the purpose of these hashes, you can look at this output of the getinfo action and figure it out:

$ counterparty-client --testnet getinfo
[2017-01-19 02:59:48][INFO] Running v1.1.2 of counterparty-client.
{
    "bitcoin_block_count": 1084655,
    "db_caught_up": true,
    "last_block": {
        "block_hash": "00000000000003b67ee3768ca8ac21ab9047ce6e54977aef518858d8bb732c23",
        "block_index": 1084655,
        "block_time": 1484765395,
        "difficulty": 945787.3775373801,
        "ledger_hash": "93564be7abdded1576f704b6c0396b60d69746e635e3ac2716867bd08743662c",
        "messages_hash": "33fc8a3036fbeba71f7ec944720030d6ae403252fbc2ce582a636373a67546da",
        "previous_block_hash": "0000000000000dff3218424866668d7629cecb048d44a150818c49df4dc7343f",
        "txlist_hash": "9a8a98c00c5b6adeff15ade90c1431e916fd81a6ff16e3e16774401e1b73c99b"
    },
    "last_message_index": 32353,
    "running_testcoin": false,
    "running_testnet": true,
    "version_major": 9,
    "version_minor": 55,
    "version_revision": 1
}

The short hashes contain last 5 bytes of important blockchain hashes and make it easier to verify consistency of the database by comparing them with hashes from other Counterparty servers or the blockchain itself:

  • M - messages
  • TX - transactions list
  • L - ledger