Как я понимаю, BIP 37, установив фильтр цветения на связи с помощью loadfilter сообщение с флагом BLOOM_UPDATE_P2PUBKEY_ONLY набор, отвечающий клиент автоматически вставляет все минусы (TXID и выход индекс) в цвете фильтре операций по фильтру. Однако, когда я пытаюсь сделать именно это, узел только когда-либо отправляет транзакцию, содержащие выходы по адресу я фильтрация для, никогда сделок, которые содержат выходы из адреса я фильтрация для.
Мой подход заключается в следующем:
- Добавьте следующий открытый ключ к цвету фильтра: 1JbFvyaMyHHmvvjc54h4YARq3uoX2ZZ4Qj (случайно выбрал)
- Отправить filterload сообщение, содержащее фильтр (как показано на WIRESHARK фрагменте ниже).
Код:
Bitcoin протокол
Пакет магии: 0xf9beb4d9
Название команды: filterload
Payload Length: 261
Payload контрольная сумма: 0x2bb02c45
Filterload сообщение
Фильтр
Количество: 251
Данные: 000000040004010000000100000000000000020000400000 ...
nHashFunc: 13
nTweak: 0x1a689ff4
nFlags: BLOOM_UPDATE_P2PUBKEY_ONLY (0x02)
Пакет магии: 0xf9beb4d9
Название команды: filterload
Payload Length: 261
Payload контрольная сумма: 0x2bb02c45
Filterload сообщение
Фильтр
Количество: 251
Данные: 000000040004010000000100000000000000020000400000 ...
nHashFunc: 13
nTweak: 0x1a689ff4
nFlags: BLOOM_UPDATE_P2PUBKEY_ONLY (0x02)
- Отправить получить данные сообщение с хэш всех блоков, содержащих операции и из кошелька (который я идентифицированного на блок проводника с целью проверки этого). Запасы набираются MSG_FILTERED_BLOCK.
Узел отвечает на следующие сообщения в порядке:
Код:
MerkleBlock: 000000000000000001201ab2679db7c87a432967c060596bad0ac093dac94111
Tx: ......... 187b00588e8d7844c405da9a15d78dbd7ebb9b2887fb5aace6651719fede923e
Tx: ......... dbbca0d839435ac77db65378a9607d17b0aa965f3027d84dcf0ee5115dc8d32f
Tx: ......... 17c12f45956082a913c0c862d573cf067fa5ee96ba5b954914371da6bef51f7f
Tx: ......... 36cce25d34a5da0f7d69253743eae7bb7c576e5543d0eb16db0f72967edb4bc6
Tx: ......... 6ea48c6286b1691cd1ecec271a3f52a3fe099467bb6c926b41ba8942e21d4aa6
MerkleBlock: 0000000000000000049ee67931f6d4970a7d06b14b8aadd406223ab65efe5025
MerkleBlock: 0000000000000000019f3fc2c8da43e8a81373ae189ace4caec6c59969f46ff6
MerkleBlock: 000000000000000000f67dad206798db2e6c5dffec84d213397784be894e66fa
Tx: ......... 187b00588e8d7844c405da9a15d78dbd7ebb9b2887fb5aace6651719fede923e
Tx: ......... dbbca0d839435ac77db65378a9607d17b0aa965f3027d84dcf0ee5115dc8d32f
Tx: ......... 17c12f45956082a913c0c862d573cf067fa5ee96ba5b954914371da6bef51f7f
Tx: ......... 36cce25d34a5da0f7d69253743eae7bb7c576e5543d0eb16db0f72967edb4bc6
Tx: ......... 6ea48c6286b1691cd1ecec271a3f52a3fe099467bb6c926b41ba8942e21d4aa6
MerkleBlock: 0000000000000000049ee67931f6d4970a7d06b14b8aadd406223ab65efe5025
MerkleBlock: 0000000000000000019f3fc2c8da43e8a81373ae189ace4caec6c59969f46ff6
MerkleBlock: 000000000000000000f67dad206798db2e6c5dffec84d213397784be894e66fa
В 5 сделок в списке правильны, так как содержат выходы таргетинга указанного кошелька. Тем не менее, блок 0000000000000000019f3 ... содержит операции с входами из указанного кошелька, но merkleblock сообщения этого блока не следует этим сделки. Если не узел добавить выходов этих 5 операций в цвете фильтр, и, таким образом, соответствует более поздним операциям, содержащих материалы, указывающим на них?
Я подтвердил, что узел находится в распоряжении соответствующих сделок. Если я загрузить фильтр вручную, добавляя выходы сам, это работает как задумано.
Могу ли я недоразумение как BIP 37 используется?
(Я отправил это в http://bitcoin.stackexchange.com/questions/43989/bip-37-automatic-filter-update-not-inserting-outputs)