コード例 #1
0
        public void Should_TrimNonceRlpPrefix()
        {
            var bytes  = "0x88c9a86158ff0cea0e".HexToByteArray();
            var result = BlockHeaderRPCFactory.EnsureNonceWithoutRLPSizePrefix(bytes);

            Assert.True(result.Length == 8);
        }
コード例 #2
0
        public void Should_TrimMixHashRlpPrefix()
        {
            var bytes  = "0xa0ed5b0ca9b4a8f00aaf9b4b3b9ede7d20b0cab7f085e1e5a51553af9a7886c252".HexToByteArray();
            var result = BlockHeaderRPCFactory.EnsureMixHashWithoutRLPSizePrefix(bytes);

            Assert.True(result.Length == 32);
        }
コード例 #3
0
        //Ignore due to bug in geth 1.9.1 [Fact]
        public async void ShouldDecodeCliqueAuthor()
        {
            if (_ethereumClientIntegrationFixture.Geth)
            {
                var web3  = _ethereumClientIntegrationFixture.GetWeb3();
                var block =
                    await web3.Eth.Blocks.GetBlockWithTransactionsByNumber.SendRequestAsync(new HexBigInteger(1));

                var blockHeader = BlockHeaderRPCFactory.FromRPC(block);
                var account     = new CliqueBlockHeaderRecovery().RecoverCliqueSigner(blockHeader);
                Assert.True(AccountFactory.Address.IsTheSameAddress(account));
            }
        }
コード例 #4
0
        public async void ShouldEncodeDecode()
        {
            var web3  = _ethereumClientIntegrationFixture.GetWeb3();
            var block = await web3.Eth.Blocks.GetBlockWithTransactionsByNumber.SendRequestAsync(new HexBigInteger(1));

            var blockHeader = BlockHeaderRPCFactory.FromRPC(block);

            var encoded = BlockHeaderEncoder.Current.Encode(blockHeader);
            var decoded = BlockHeaderEncoder.Current.Decode(encoded);

            Assert.Equal(blockHeader.StateRoot.ToHex(), decoded.StateRoot.ToHex());
            Assert.Equal(blockHeader.LogsBloom.ToHex(), decoded.LogsBloom.ToHex());
            Assert.Equal(blockHeader.MixHash.ToHex(), decoded.MixHash.ToHex());
            Assert.Equal(blockHeader.ReceiptHash.ToHex(), decoded.ReceiptHash.ToHex());
            Assert.Equal(blockHeader.Difficulty, decoded.Difficulty);
        }