Author

Topic: Version Message and addrYou / addrMe (Read 928 times)

newbie
Activity: 33
Merit: 0
July 14, 2011, 06:27:11 PM
#3
Well I thought about that one but I have to swap both of them that is incoming and outgoing to make sense.
hero member
Activity: 812
Merit: 1022
No Maps for These Territories
July 14, 2011, 01:05:45 PM
#2
One sides' "me" is the other sides' "you", I guess? That explains why they're swapped on receive.
newbie
Activity: 33
Merit: 0
July 14, 2011, 12:33:36 PM
#1
Hi all, I am a bit confused here:
According to the spec and main.cpp the version message should be first me and then you:
(line 2364)
        int64 nTime;
        CAddress addrMe;
        CAddress addrFrom;
        uint64 nNonce = 1;

but from what I see over the network it is more the otherway around, as net.h would suggest too:
line 743
    void PushVersion()
    {
        /// when NTP implemented, change to just nTime = GetAdjustedTime()
        int64 nTime = (fInbound ? GetAdjustedTime() : GetTime());
        CAddress addrYou = (fUseProxy ? CAddress("0.0.0.0") : addr);
        CAddress addrMe = (fUseProxy ? CAddress("0.0.0.0") : addrLocalHost);
        RAND_bytes((unsigned char*)&nLocalHostNonce, sizeof(nLocalHostNonce));
        PushMessage("version", VERSION, nLocalServices, nTime, addrYou, addrMe,
                    nLocalHostNonce, std::string(pszSubVer), nBestHeight);
    }

As I am not proficient in cpp, I don't really know now what is going on.
Could someone shed a bit more light on this please?

Thanks,

Martin
Jump to: