BitSharp.Network.Messaging.ConstructVersionPayload C# (CSharp) Method

ConstructVersionPayload() public static method

public static ConstructVersionPayload ( IPEndPoint localEndPoint, IPEndPoint remoteEndPoint, System.UInt64 nodeId, UInt32 startBlockHeight ) : BitSharp.Network.VersionPayload
localEndPoint System.Net.IPEndPoint
remoteEndPoint System.Net.IPEndPoint
nodeId System.UInt64
startBlockHeight System.UInt32
return BitSharp.Network.VersionPayload
        public static VersionPayload ConstructVersionPayload(IPEndPoint localEndPoint, IPEndPoint remoteEndPoint, UInt64 nodeId, UInt32 startBlockHeight)
        {
            return new VersionPayload
            (
                ProtocolVersion: PROTOCOL_VERSION,
                ServicesBitfield: SERVICES_BITFIELD,
                Time: DateTimeOffset.Now, //TODO
                RemoteAddress: ConstructNetworkAddress(remoteEndPoint.Address, remoteEndPoint.Port),
                LocalAddress: ConstructNetworkAddress(localEndPoint.Address, port: localEndPoint.Port),
                Nonce: nodeId,
                UserAgent: USER_AGENT,
                StartBlockHeight: startBlockHeight,
                Relay: false //TODO
            );
        }

Usage Example

Esempio n. 1
0
        public async Task SendVersion(IPEndPoint localEndPoint, IPEndPoint remoteEndPoint, UInt64 nodeId, UInt32 startBlockHeight)
        {
            var versionPayload = Messaging.ConstructVersionPayload(localEndPoint, remoteEndPoint, nodeId, startBlockHeight);
            var versionMessage = Messaging.ConstructMessage("version", NetworkEncoder.EncodeVersionPayload(versionPayload, withRelay: false));

            await SendMessageAsync(versionMessage);
        }