コード例 #1
0
        public void RoundTrip()
        {
            var ethMessage = new Network.P2P.Subprotocols.Eth.V62.GetBlockBodiesMessage(Keccak.OfAnEmptySequenceRlp, Keccak.Zero, Keccak.EmptyTreeHash);
            var message    = new GetBlockBodiesMessage(ethMessage, 1);

            GetBlockBodiesMessageSerializer serializer = new GetBlockBodiesMessageSerializer();

            SerializerTester.TestZero(serializer, message, "f86601f863a01dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347a00000000000000000000000000000000000000000000000000000000000000000a056e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421");
        }
コード例 #2
0
        public void Roundtrip()
        {
            GetBlockBodiesMessageSerializer serializer = new GetBlockBodiesMessageSerializer();
            GetBlockBodiesMessage           message    = new GetBlockBodiesMessage(Keccak.OfAnEmptySequenceRlp, Keccak.Zero, Keccak.EmptyTreeHash);

            byte[] bytes = serializer.Serialize(message);
            GetBlockBodiesMessage deserialized = serializer.Deserialize(bytes);

            Assert.AreEqual(message.BlockHashes.Length, deserialized.BlockHashes.Length, $"length");
            for (int i = 0; i < message.BlockHashes.Length; i++)
            {
                Assert.AreEqual(message.BlockHashes[i], deserialized.BlockHashes[i], $"hash {i}");
            }
        }
コード例 #3
0
        public void Get_block_bodies_there_and_back(StackType inbound, StackType outbound, bool framingEnabled)
        {
            var hashes = new Keccak[256];

            for (int i = 0; i < hashes.Length; i++)
            {
                hashes[i] = Keccak.Compute(i.ToString());
            }

            GetBlockBodiesMessage message = new GetBlockBodiesMessage(hashes);

            GetBlockBodiesMessageSerializer serializer = new GetBlockBodiesMessageSerializer();

            byte[] data = serializer.Serialize(message);

            Packet packet  = new Packet("eth", 5, data);
            Packet decoded = Run(packet, inbound, outbound, framingEnabled);
        }
コード例 #4
0
        public void Roundtrip()
        {
            GetBlockBodiesMessageSerializer serializer = new GetBlockBodiesMessageSerializer();
            GetBlockBodiesMessage           message    = new GetBlockBodiesMessage(Keccak.OfAnEmptySequenceRlp, Keccak.Zero, Keccak.EmptyTreeHash);

            byte[] bytes         = serializer.Serialize(message);
            byte[] expectedBytes = Bytes.FromHexString("f863a01dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347a00000000000000000000000000000000000000000000000000000000000000000a056e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421");

            Assert.True(Bytes.AreEqual(bytes, expectedBytes), "bytes");

            GetBlockBodiesMessage deserialized = serializer.Deserialize(bytes);

            Assert.AreEqual(message.BlockHashes.Length, deserialized.BlockHashes.Length, $"length");
            for (int i = 0; i < message.BlockHashes.Length; i++)
            {
                Assert.AreEqual(message.BlockHashes[i], deserialized.BlockHashes[i], $"hash {i}");
            }
        }