Protocol
魔網ID值是 怎麼選的?
比特幣網路上的消息由魔法值 0xD9B4BEF9 標識,在測試網上由 0xDAB5BFFA 標識。為什麼選擇這些值?
main.cpp 帶有此評論:
// The message start string is designed to be unlikely to occur in normal data. // The characters are rarely used upper ascii, not valid as UTF-8, and produce // a large 4-byte int at any alignment. unsigned char pchMessageStart[4] = { 0xf9, 0xbe, 0xb4, 0xd9 };
之所以選擇它是因為它是一個素數,還因為 4190024921 是原始畢達哥拉斯三元組的斜邊:4190024921^2 = 2924728880^2 + 3000378279^2
編輯:請注意,您必須考慮字節順序。TCP 協議要求數字以大端序編碼。0xf9beb4d9(小)= 0xd9b4bef9(大)
有關詳細資訊,請參閱https://stackoverflow.com/a/13514942 。