Как отключить блокировку или транзакцию Bitcoind ZeroMQ publi sh в mempool - PullRequest
0 голосов
/ 09 января 2020

TL; DR

zmq отправка данных блока в mempool не подтверждена в блокчейне, как отфильтровать эти неподтвержденные данные .

проблема

В 2019 году наше производство использовало blocknotify для запуска события нового блока, но в этом году (2020) я должен был перейти на использование zeromq. Поэтому я меняю свой код, запущенный публикацией zeromq sh zmqpubhashblock, это легко .Но я обнаружил, что zmq отправляет данные блока в mempool, не подтверждается в блокчейне , и не обнаружил, что любая другая конфигурация может отключить это поведение.

текущий узел (тест tnet bt c узел для разработки)

  • Bitcoin Версия Core Daemon v0.18.0.0
  • отключена функция кошелька для bitcoind
  • добавить -txindex в конфигурации

мой код (субдемонстрация zmq в команде laravel)

        $context = new \ZMQContext();
        $subscriber = new \ZMQSocket($context, \ZMQ::SOCKET_SUB);
        $subscriber->connect("tcp://192.168.1.136:28332"); //btc testnet
        $subscriber->setSockOpt(\ZMQ::SOCKOPT_SUBSCRIBE, "hashblock");
        // $subscriber->setSockOpt(\ZMQ::SOCKOPT_SUBSCRIBE, "hashtx");
        $subscriber->setSockOpt(\ZMQ::SOCKOPT_SUBSCRIBE, "rawblock");
        // $subscriber->setSockOpt(\ZMQ::SOCKOPT_SUBSCRIBE, "rawtx");
        $this->info("sub btc");
        while (true) {
            $multiRec = $subscriber->recvMulti();
            // if ($multiRec != false) {
            // var_dump($multiRec);
            $this->info(date('Y-m-d H:i:s') . ' rec:');
            $topic = $multiRec[0];
            $body = \bin2hex($multiRec[1]);
            $sequence = \bin2hex($multiRec[2]);
            $this->info("topic: " . $topic . " , sequence : " . $sequence);
            $this->info("body " . " , sequence : " . $sequence);
            $this->info($body);
            $this->info('----------------------');
        }

Выводится так

sub btc
2020-01-09 07:55:10 rec:
topic: hashblock , sequence : 4c2b0000
body  , sequence : 4c2b0000
00000000000119f7061e4de7bc09f7526ad6d03057da7eadb2a8c68260765b20
----------------------
2020-01-09 07:55:10 rec:
topic: rawblock , sequence : 4c2b0000
body  , sequence : 4c2b0000
0000ff3fef3ca23d30df507cfa0bbbccb27cbed53e714cf4da599c917fc200000000000035f889f1bb70bac042d7f63dc0056279d16564ef2b5a9ef6ef6e02a122ae3cea67dc165eb08f091b056252a702020000000001010000000000000000000000000000000000000000000000000000000000000000ffffffff2703b038190458dc165e726567696f6e312f46756e3230313931322f010000012700000000000000ffffffff02c40c5402000000001976a9149dbb856bf9bfe4cebc7cc3aec5434c14e540ba7d88ac0000000000000000266a24aa21a9ed0b17f5f2ecfe5fff1fde0d8e23223f2aa9fc2fad5b04c0430bb682c69f4f59dd012000000000000000000000000000000000000000000000000000000000000000000000000001000000000101d266d0eba0eb71e7f4c163caa5ce49d9f9d167cec65f7a1299cda5e6a10b3b2b0000000000ffffffff02e8030000000000001976a914c48ce75ce550d6d13548fe683106facbc0aeee3c88acb0290c0000000000160014f52b799d88c35973313bc2f5110a53f74e4dde810247304402203a001e87cbda9f36570963ff8dbb3f9b086008f34c15c360bcea2417aea6c575022071bf52e8394b54bab9d5a4a87e386c995d3651f9d09dc958e38d5fffeae1910701210339363cbe9f2a914801db907302a6658c28c145b247cb7c0133f70f5db0cdd0aa00000000
----------------------
2020-01-09 07:55:12 rec:
topic: hashblock , sequence : 4d2b0000
body  , sequence : 4d2b0000
0000000000017d572741e884f5b6d20a86351dc52f432072eba0f86ac5026cbd
----------------------
2020-01-09 07:55:12 rec:
topic: rawblock , sequence : 4d2b0000
body  , sequence : 4d2b0000
00000020205b766082c6a8b2ad7eda5730d0d66a52f709bce74d1e06f719010000000000eb6c4b961cfb08a367efdc0770df9377b5c1ffc7358ecf25870648e99e44d51c5edc165eb08f091bbd17f63801010000000001010000000000000000000000000000000000000000000000000000000000000000ffffffff4c03b13819045edc165e08fabe6d6d00000000000000000000000000000000000000000000000000000000000000000100000000000000180000708b1800000d2f6e6f64655374726174756d2f00000000020000000000000000266a24aa21a9ede2f61c3f71d1defd3fa999dfa36953755c690689799962b48bebd836974e8cf9e40b5402000000001976a914bd3400d71504033fb1e7c947f2e0f55775899f2288ac0120000000000000000000000000000000000000000000000000000000000000000000000000
----------------------
2020-01-09 07:55:12 rec:
topic: hashblock , sequence : 4e2b0000
body  , sequence : 4e2b0000
000000000000df593a7a72c65d1ddcb8d7aef78bac448b288b798de256d04db3
----------------------
2020-01-09 07:55:12 rec:
topic: rawblock , sequence : 4e2b0000
body  , sequence : 4e2b0000
00000020bd6c02c56af8a0eb7220432fc51d35860ad2b6f584e84127577d010000000000f70bd9ad38658f46e958c11bc3f98e3bc7b5082c72beee27df6672750a2c936c60dc165eb08f091b1b18f5f401010000000001010000000000000000000000000000000000000000000000000000000000000000ffffffff4c03b238190460dc165e08fabe6d6d0000000000000000000000000000000000000000000000000000000000000000010000000000000018000070b40200000d2f6e6f64655374726174756d2f00000000020000000000000000266a24aa21a9ede2f61c3f71d1defd3fa999dfa36953755c690689799962b48bebd836974e8cf9e40b5402000000001976a914bd3400d71504033fb1e7c947f2e0f55775899f2288ac0120000000000000000000000000000000000000000000000000000000000000000000000000
----------------------
2020-01-09 07:55:13 rec:
topic: hashblock , sequence : 4f2b0000
body  , sequence : 4f2b0000
00000000000082663372af34f08cb4463bba26bc50849d1f0cf559a6beb52c30
----------------------
2020-01-09 07:55:13 rec:
topic: rawblock , sequence : 4f2b0000
body  , sequence : 4f2b0000
00000020b34dd056e28d798b288b44ac8bf7aed7b8dc1d5dc6727a3a59df0000000000003ed7970bbe29d8f94424d80bfd597d11ccb0501a9ca9744bae7ce7e9e68f26a460dc165eb08f091b54bb9f6601010000000001010000000000000000000000000000000000000000000000000000000000000000ffffffff4c03b338190460dc165e08fabe6d6d0000000000000000000000000000000000000000000000000000000000000000010000000000000018000070c90400000d2f6e6f64655374726174756d2f00000000020000000000000000266a24aa21a9ede2f61c3f71d1defd3fa999dfa36953755c690689799962b48bebd836974e8cf9e40b5402000000001976a914bd3400d71504033fb1e7c947f2e0f55775899f2288ac0120000000000000000000000000000000000000000000000000000000000000000000000000
----------------------

Я декодирую rawBlockdata и получаю txid a4268fe6e9e77cae4b74a99c1a50b0cc117d59fd0bd82444f9d829be0b97d73e, но это ноль подтверждений (текущий 08:12:18 UT C четверг, 9 января 2020 г.).

1 Ответ

0 голосов
/ 10 января 2020

проверка других тестов tnet проводник решил мою проблему, проводник, который я использовал, на 200 отстает от текущего

Проверяя другие тесты tnet проводник, я нахожу https://tbtc.bitaps.com/ на 200 блоков отстает от текущего (tes tnet 9 января 2020 г.).

И данные сейчас (10 января 2020 г.).

Это не проблема биткойн или проблема с моим кодом, просто проверьте другие тесты tnet.

...