BCNet.Utils.UnixTime C# (CSharp) Method

UnixTime() public static method

public static UnixTime ( ) : System.UInt64
return System.UInt64
        public static UInt64 UnixTime()
        {
            TimeSpan span = (DateTime.UtcNow - new DateTime(1970, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc));
            double unixTime = span.TotalSeconds;
            return (UInt64)unixTime;
        }

Usage Example

Example #1
0
        void SendVersionPacket()
        {
            IPEndPoint remote = (IPEndPoint)mSocket.RemoteEndPoint;
            IPEndPoint local  = (IPEndPoint)mSocket.LocalEndPoint;

            // Send version packet
            MemoryStream stream = new MemoryStream();
            BinaryWriter w      = new BinaryWriter(stream);

            // -- PAYLOAD --
            // version
            w.Write(mProtocolVersion);

            // Services
            Int64 services = 0x0000000000000001;

            w.Write(services);

            // Timestamp
            UInt64 timestamp = Utils.UnixTime();

            w.Write(timestamp);

            // addr_recv
            w.Write(services);
            w.Write((UInt64)0);
            w.Write((ushort)0);
            w.Write((ushort)0xFFFF);
            byte[] remoteBytes = remote.Address.GetAddressBytes();
            w.Write(remoteBytes);
            w.Write(Utils.Byteswap(mPort));

            // addr_from
            w.Write(services);
            w.Write((UInt64)0);
            w.Write((ushort)0);
            w.Write((ushort)0xFFFF);
            byte[] localBytes = local.Address.GetAddressBytes();
            w.Write(localBytes);
            w.Write(Utils.Byteswap(mPort));

            // nonce
            w.Write((UInt64)0xC4ACFF3D04805523);

            // user_agent
            w.Write((byte)0xF);
            w.Write("/Satoshi:0.8.6/".ToArray());

            // start_height
            w.Write(mOwner.CurrentHeight);

            byte[] packetData = stream.ToArray();
            SendPacket("version", packetData);
            w.Close();
        }