@@ -161,7 +161,8 @@ confirmed.
161161
1621625. Order mempool transactions by ``(-height, tx_hash) ``, that is,
163163``0 `` height txs come before ``-1 `` height txs, and secondarily the
164- txid (in network byteorder) is used to arrive at a canonical ordering.
164+ txid (endianness same as human-readable hex string used for display) is used
165+ to arrive at a canonical ordering.
165166
1661676. Next, with mempool transactions in the specified order, append a similar
167168string.
@@ -173,48 +174,48 @@ string is empty because there are no transactions.
173174
174175**Status Example **
175176
176- Consider the following BTC regtest address: `bcrt1qwu2d7rjn9yxalg7cjw6phqzk77lf3fmsf57wq4 `,
177- which has script hash: `76bbdc72fdc74fbb0b049d21b0f80045f2a227cde1cd57a00925a437638984b5 `.
177+ Consider the following BTC regtest address: `bcrt1qn7d2x7272lznt5hhk9s07q3cqnrqljnwladrd3 `,
178+ which has script hash: `f04bf26fc16a27abaa2f10540da7a24e369e6ec408f2d901202a7c0cd4a6112d `.
178179
179180Example RPC traffic::
180181
181- <-- ('blockchain.scripthash.subscribe', ['76bbdc72fdc74fbb0b049d21b0f80045f2a227cde1cd57a00925a437638984b5 ']) (id: 15)
182- --> 3b3b8f1bf926bde2e8e21d80b7d23afbef8f8ef697e7e9204683d9a29801b671 (id: 15)
183- <-- ('blockchain.scripthash.get_history', ['76bbdc72fdc74fbb0b049d21b0f80045f2a227cde1cd57a00925a437638984b5 ']) (id: 16)
182+ <-- ('blockchain.scripthash.subscribe', ['f04bf26fc16a27abaa2f10540da7a24e369e6ec408f2d901202a7c0cd4a6112d ']) {} (id: 15)
183+ --> 78e96c6562cafa71c115503b9411fdfdc595a45031e2ab76ff75162fe1b0590d (id: 15)
184+ <-- ('blockchain.scripthash.get_history', ['f04bf26fc16a27abaa2f10540da7a24e369e6ec408f2d901202a7c0cd4a6112d ']) {} (id: 16)
184185 --> [
185- {'tx_hash': '5c75485491ef13ca39c06a6c985de5223ac34a365fe26d461e567521f87bb378 ', 'height': 1860 },
186- {'tx_hash': '9a2808f0cebab7fd71033b2974ab476098f8a6deb972b72fed60878a44badeda ', 'height': 1861 },
187- {'tx_hash': '07ec1e1dd23e337d55c7e21e892cca4d328cef5d6eddf29e59587e9056e891f7 ', 'height': 1861 },
188- {'tx_hash': '98edd636bf8142d9ec0b88de3c8dbd3eb3da9bcfb02f7496f21408d8c6be58f2 ', 'height': 0, 'fee': 200},
189- {'tx_hash': '73fe76fe862413b8ff0f74b72c65c21fa1229a07d0625d994028363aa7cd58f7 ', 'height': 0, 'fee': 200 },
190- {'tx_hash': 'b870b52ab5ecc3c3133ef1b9fff54d8d49c9c3ab7aa4236bf4c8d734d4d3b231 ', 'height': -1, 'fee': 110}
191- ] (id: 16 )
192- <-- ('blockchain.transaction.get', ['5c75485491ef13ca39c06a6c985de5223ac34a365fe26d461e567521f87bb378 ']) (id: 17 )
193- <-- ('blockchain.transaction.get', ['9a2808f0cebab7fd71033b2974ab476098f8a6deb972b72fed60878a44badeda ']) (id: 18 )
194- <-- ('blockchain.transaction.get', ['07ec1e1dd23e337d55c7e21e892cca4d328cef5d6eddf29e59587e9056e891f7 ']) (id: 19 )
195- <-- ('blockchain.transaction.get', ['98edd636bf8142d9ec0b88de3c8dbd3eb3da9bcfb02f7496f21408d8c6be58f2 ']) (id: 20 )
196- <-- ('blockchain.transaction.get', ['73fe76fe862413b8ff0f74b72c65c21fa1229a07d0625d994028363aa7cd58f7 ']) (id: 21 )
197- <-- ('blockchain.transaction.get', ['b870b52ab5ecc3c3133ef1b9fff54d8d49c9c3ab7aa4236bf4c8d734d4d3b231']) (id: 22 )
198- --> 02000000000101887e2ea83a1fbface451aa3b2ba556757039bfe266d8b0c03383b2a6bc306a0b0000000000fdffffff0200e1f505000000001600147714df0e53290ddfa3d893b41b8056f7be98a77038b23f710000000016001496ea3197df375c6a62188cf9119aee984c0cc6150247304402206e1bbfca238613dbb5c877007273ddc708a5bdf0436e8e9df8cff4860937a64402200d86cc261234f5d448dd005c28a7bfc29d86b4d3004c76f5440aa662ba65479f01210242c23a20435cd52192581537b2017288b8cdf3fef349100c11a125d9529017e143070000 (id: 17 )
199- --> 0200000000010178b37bf82175561e466de25f364ac33a22e55d986c6ac039ca13ef915448755c0100000000fdffffff0200e1f505000000001600147714df0e53290ddfa3d893b41b8056f7be98a77070d0496b00000000160014e5ec5a8eff827f8ab906f94026e83a7404b8bf860247304402200a6a2c21d2829d65e5439e3153a6b157e231942d3fa9b9d90b2567b1eec11851022036e4797a67bb1bbd1e2239ab51905db07bb5a31a3ac63b0eadbb8e5e27baf63d012103a23dcf3edc18180b0d82b0be8eb1c30ae61597e99e298246e05109b7ba89763744070000 (id: 18 )
200- --> 02000000000101887e2ea83a1fbface451aa3b2ba556757039bfe266d8b0c03383b2a6bc306a0b0100000000fdffffff0200e1f505000000001600147714df0e53290ddfa3d893b41b8056f7be98a770c4b8004d3a000000160014692a676d16f83641a6518e9154d2b43a8465ed440247304402206578cda616dd7425b7f7cc35a67892361168275ac8a8ca0c6a3e1eefd595e9de02200466d0eb0a4ed4351ae806793151f5bfdae44904507efe4225a67f36ef2de76c0121030644479c1b8c106e2f0a495fe18dc45572b3413bda2db919c1fcf0f77f43241c44070000 (id: 19 )
201- --> 02000000000101dadeba448a8760ed2fb772b9dea6f8986047ab74293b0371fdb7bacef008289a0100000000fdffffff0200e1f505000000001600147714df0e53290ddfa3d893b41b8056f7be98a770a8ee536500000000160014783997038ebfd28edef06a1e088e9fd905c48d61024730440220426b0570147156e19cd4c6eff02f49e11747dc74eaad0299d884740c0f05958302200c93e46a3db4686d576943c88274ddb43afbcd4c491867642c1a9c3fba8ca3bf012103e0e2b67a3e8244900fa916decb6a9d45787ebe15b882c7a065cd0151d298fb4e45070000 (id: 20 )
202- --> 02000000000101f791e856907e58599ef2dd6e5def8c324dca2c891ee2c7557d333ed21d1eec070100000000fdffffff0200e1f505000000001600147714df0e53290ddfa3d893b41b8056f7be98a770fcd60a473a000000160014641837eaea0de6ed898e30ff6e093c566d790521024730440220143065381913b92b572b6fc6362f89517f0d411d19d23ba025f43885736fdf7602201176d0f5284c65023baa06d760810085e8d7e0835b9a64a8046ab3c883499357012102be2e344c2f49afa8d734a2f79a09827b038d2f8f6bfa77d5a2e077c22a3fd80a45070000 (id: 21 )
203- --> 02000000000101f258bec6d80814f296742fb0cf9bdab33ebd8d3cde880becd94281bf36d6ed980000000000fdffffff0192e0f505000000001600147714df0e53290ddfa3d893b41b8056f7be98a770024730440220569e38b9034c5855b866a35a16d949d16b7b544aff9d6b02b6d2ca7ebbd9c3b2022074a7d230241335436a2df1380a4d7c5442424a9a56a02124f4a0b495e9de24b50121027ba4d3ee6471a985307a37d09eb9a0a73c1a31b57616fe3e53a3d6d45400251945070000 (id: 22 )
204- <-- ('blockchain.transaction.get_merkle', ['5c75485491ef13ca39c06a6c985de5223ac34a365fe26d461e567521f87bb378 ', 1860 ]) (id: 23 )
205- <-- ('blockchain.transaction.get_merkle', ['9a2808f0cebab7fd71033b2974ab476098f8a6deb972b72fed60878a44badeda ', 1861 ]) (id: 24 )
206- <-- ('blockchain.transaction.get_merkle', ['07ec1e1dd23e337d55c7e21e892cca4d328cef5d6eddf29e59587e9056e891f7', 1861]) (id: 25 )
207- --> {'block_height': 1860 , 'merkle': ['7df6810d7ac97c43cbfc2bdc6be10e26cd54ad34ab5e563fd8bde7f86ff36975' ], 'pos': 1} (id: 23 )
208- --> {'block_height': 1861 , 'merkle': ['ac7d7a5d8932f565a2cf9cb103881bfc3bf7aa2f56ccbcdeb31e02c524ddfd0b ', 'f7d333193f2e5c48c236db7c3eafd5d03f387a71c4f9b6056617faefcf3d44cf '], 'pos': 1 } (id: 24 )
209- --> {'block_height': 1861, 'merkle': ['07ec1e1dd23e337d55c7e21e892cca4d328cef5d6eddf29e59587e9056e891f7', '5441fd37bd00b55ff5f9ea1a8956d2f3ade17c7fb7a363e8000b3e7cb40ea135'], 'pos': 2} (id: 25)
210-
211- So, mined txs are first ordered by block height, but block 1861 needs a tie-breaker:
186+ {'tx_hash': 'a6c9c361bd0bc536d6a22648efbf8f9b200e425ef6c3a7a9669dc444c532a347 ', 'height': 2472 },
187+ {'tx_hash': '9c42f84b2fcdaff676ba25d9d4941741cc0d1a01cce0c23fdc4c0b2afa38431c ', 'height': 2473 },
188+ {'tx_hash': '770f2d4371b3fabb902dd9a103e2dd005fcd3971181078fca4a2a1d6ff127b30 ', 'height': 2473 },
189+ {'tx_hash': '80b19848aed792565ab7c5a79b7c2a00fbf985741579396ebe0ab6098e607311 ', 'height': 0, 'fee': 200},
190+ {'tx_hash': 'e02a1dadfa83b996b24175df807b271ea5d02937ef5b35c195fac1e1bdc3198f ', 'height': 0, 'fee': 300 },
191+ {'tx_hash': 'bb4c8ab438c13b89ca80d1d5bee25b0b6b7f55673f4d801998ba97db161d9e85 ', 'height': -1, 'fee': 200}] (id: 16)
192+ <-- ('blockchain.transaction.get', ['a6c9c361bd0bc536d6a22648efbf8f9b200e425ef6c3a7a9669dc444c532a347']) {} (id: 17 )
193+ <-- ('blockchain.transaction.get', ['9c42f84b2fcdaff676ba25d9d4941741cc0d1a01cce0c23fdc4c0b2afa38431c ']) {} (id: 18 )
194+ <-- ('blockchain.transaction.get', ['770f2d4371b3fabb902dd9a103e2dd005fcd3971181078fca4a2a1d6ff127b30 ']) {} (id: 19 )
195+ <-- ('blockchain.transaction.get', ['80b19848aed792565ab7c5a79b7c2a00fbf985741579396ebe0ab6098e607311 ']) {} (id: 20 )
196+ <-- ('blockchain.transaction.get', ['e02a1dadfa83b996b24175df807b271ea5d02937ef5b35c195fac1e1bdc3198f ']) {} (id: 21 )
197+ <-- ('blockchain.transaction.get', ['bb4c8ab438c13b89ca80d1d5bee25b0b6b7f55673f4d801998ba97db161d9e85 ']) {} (id: 22 )
198+ --> 02000000000102f758cda73a362840995d62d0079a22a11fc2652cb7740fffb8132486fe76fe730000000000fdffffff31b2d3d434d7c8f46b23a47aabc3c9498d4df5ffb9f13e13c3c3ecb52ab570b80000000000fdffffff0280f0fa02000000001600149f9aa3795e57c535d2f7b160ff023804c60fca6ef0cff00800000000160014553a3b97c2cc7d3d4edeace3281ff038bd067629024730440220274cf69bab8d6fd25bd047ef7420274f58540c32f2cbc12944134e604d2307a7022035a8954b44cbc6b048f4457080a7bcaf903bd970ee8bd297f1ef25451a464c280121027ba4d3ee6471a985307a37d09eb9a0a73c1a31b57616fe3e53a3d6d4540025190247304402205a879e8678c331e4f00a282e629fc048ce2ec0107452ecc19773f4c144c725af02204495325f83cfc987e4e9a090c361cfe11b63173a9b7a5ce498f3924f11ec416a0121027ba4d3ee6471a985307a37d09eb9a0a73c1a31b57616fe3e53a3d6d454002519a7090000 (id: 17 )
199+ --> 0200000000010147a332c544c49d66a9a7c3f65e420e209b8fbfef4826a2d636c50bbd61c3c9a60000000000fdffffff02784a4c00000000001600147bcf38d8a69071c21abbfe0532cb6aeacaf5c29440a5ae02000000001600149f9aa3795e57c535d2f7b160ff023804c60fca6e02473044022020fd51935d101b3bfcf169af182a2ca189407597d8f1868ca55eecae6c58fd0402205adc117093a4329dde60b9b9c579c56c1699129c6be37a581bbd03e851d36962012103c3172a9f8820681c62b8bf28961988a4642b33f4920b9da14b06965c7fff83fda8090000 (id: 18 )
200+ --> 0200000000010147a332c544c49d66a9a7c3f65e420e209b8fbfef4826a2d636c50bbd61c3c9a60100000000fdffffff02005a6202000000001600149f9aa3795e57c535d2f7b160ff023804c60fca6e28758e0600000000160014c388b18dd1771046fecb85f44642ffb7a4efb6270247304402200967ab438e5cb1047873132a7beda3a6e2d87809f58ebcb69976e14c85c2a2700220447d761847b2ab6a239f93cc2f8d42981082e4c4fe05f43b87fcd5f1626e4ed3012103cd68ad8bddacdc82a39a82efd7a045f2d9513a9de31049286b696c87a8efbe87a8090000 (id: 19 )
201+ --> 02000000000101307b12ffd6a1a2a4fc7810187139cd5f00dde203a1d92d90bbfab371432d0f770100000000fdffffff0280c3c901000000001600149f9aa3795e57c535d2f7b160ff023804c60fca6ee0b0c404000000001600144343eef6273442ab066a852a7d6ecc61950b2e7b024730440220704943bb017a4aec888859b667658ab85bc306625b049cc9f5ef1f832115024d022042d950df482107838db62378ad2db8c13b9b75508eff3bfd8198ecd1dc776215012103834e1e34194508e3fc7db19d3c6964149efd58f8c67548cc765c3284cad24d67a9090000 (id: 20 )
202+ --> 02000000000102307b12ffd6a1a2a4fc7810187139cd5f00dde203a1d92d90bbfab371432d0f770000000000fdffffff1c4338fa2a0b4cdc3fc2e0cc011a0dcc411794d4d925ba76f6afcd2f4bf8429c0100000000fdffffff02c00e1602000000001600149f9aa3795e57c535d2f7b160ff023804c60fca6e54effa0200000000160014edb4b55f1f8c33ac8597fa53d08d8997131f1b930247304402204015eaf728c064682645c95c10b04c6d47741d62b5447e29fe1e3075776ceff10220013a39f59fe60965a9304eb8645333cf4480c0c570a6aa6c87abc94b2f9b39e2012103c3172a9f8820681c62b8bf28961988a4642b33f4920b9da14b06965c7fff83fd024730440220175477dcbbb54bfb19c0cc09c311dc1b789c3f2ff3d1cc8dfc50b1065612135a022020ed690530f19d60028fb5f7e760d079d3de85981ca32b7e4349c7e02d3dcf79012103c3172a9f8820681c62b8bf28961988a4642b33f4920b9da14b06965c7fff83fda9090000 (id: 21 )
203+ --> 020000000001011173608e09b60abe6e3979157485f9fb002a7c9ba7c5b75a5692d7ae4898b1800000000000fdffffff02784a4c0000000000160014905190f141d2089497a554d5b74175929d2b2c7d40787d01000000001600149f9aa3795e57c535d2f7b160ff023804c60fca6e024730440220681b5ea1d17b311bcce35df1b9f202c15fd161c8eab0f72059d2869c2898d9460220436bf54378db5e4d9fe8c7f73fdb11db05804c8b5d6326f8cdd6e3cd906e2218012103c3172a9f8820681c62b8bf28961988a4642b33f4920b9da14b06965c7fff83fda9090000 (id: 22 )
204+ <-- ('blockchain.transaction.get_merkle', ['a6c9c361bd0bc536d6a22648efbf8f9b200e425ef6c3a7a9669dc444c532a347', 2472]) {} (id: 23 )
205+ <-- ('blockchain.transaction.get_merkle', ['9c42f84b2fcdaff676ba25d9d4941741cc0d1a01cce0c23fdc4c0b2afa38431c ', 2473 ]) {} (id: 24 )
206+ <-- ('blockchain.transaction.get_merkle', ['770f2d4371b3fabb902dd9a103e2dd005fcd3971181078fca4a2a1d6ff127b30 ', 2473 ]) {} (id: 25 )
207+ --> {'block_height': 2472, 'merkle': ['5a4ae2a3c22bd791622edb41bd007b39e1f3bcdc8371717c71dbcf630aa8ca6f'], 'pos': 1} (id: 23 )
208+ --> {'block_height': 2473 , 'merkle': ['9b977e4cc0b2eb44cb5ea2adb30bf6eae892c9a838111031cb49c97d8ad57309', 'e7a2891bd8f96488681a596f619de4d88a22d3b08a8aee3b44bbdd913e3e3562' ], 'pos': 1} (id: 24 )
209+ --> {'block_height': 2473 , 'merkle': ['770f2d4371b3fabb902dd9a103e2dd005fcd3971181078fca4a2a1d6ff127b30 ', 'ee43317b1b79a9a6b101df711a26d12a88b1419f63db15161a9fdb587fabae63 '], 'pos': 2 } (id: 25 )
210+
211+
212+ So, mined txs are first ordered by block height, but block 2473 needs a tie-breaker:
212213the two txs there are ordered based on position in the block.
213214
214215The mempool txs are first ordered based on inverse-"height", but height 0 needs a tie-breaker:
215- those two txs are ordered based on network-endian txid (`f2 ` comes before `f7 `).
216+ those two txs are sorted by txid (`80 ` comes before `e0 `).
216217
217- Finally, the status is `3b3b8f1bf926bde2e8e21d80b7d23afbef8f8ef697e7e9204683d9a29801b671 `.
218+ Finally, the status is `78e96c6562cafa71c115503b9411fdfdc595a45031e2ab76ff75162fe1b0590d `.
218219
219220
220221Block Headers
0 commit comments