Я developping реализации узла на C # на основе.
Но у меня возникли проблемы: Удаленные узлы отправить мне адр сообщение с неверной контрольной суммой. (Satoshi 0.9.0, от DNS Seed)
Я думаю, что есть что-то мне не хватает, потому что я могу правильно проверить все контрольные суммы из сообщения документированного в https://en.bitcoin.it/wiki/Protocol_specification
Я беру полезную нагрузку, вычислить двойную SHA256 и принимать низкий 4 байта, но моя контрольная сумма не совпадает с тем, в заголовке сообщения я получаю от сети. (Я могу проверить другую полезную нагрузку адр из сети, которые получают только 3 или 4 входа)
Вы можете проверить, выполнив тест "CanRead1000Addresses" в единичных испытаний https://github.com/NicolasDorier/NBitcoin
Тестовые сообщения можно проверить из спецификации протокола находятся в блок тестовых CanParseMessages.
Может кто-то проверить, если это сообщение имеет правильную контрольную сумму? Кроме того, есть ли способ проверить, если контрольная сумма действительно правильно, без необходимости компиляции / запуска теста осуществления основной Bitcoin?
Одна вещь, которую я не понимаю, почему узел посылает мне 1000 адресов, с 952 из них установлен 000000000, а не только 48.
Неисправное сообщение это один: https://github.com/NicolasDorier/NBitcoin/blob/master/NBitcoin.Tests/data/1000Addresses.txt
И я получаю много такого сообщения, поэтому я не думаю, что проблема только в одном узле.