コード例 #1
0
ファイル: B124009.cs プロジェクト: neoeinstein/xpdm.Bitcoin
        private B124009()
        {
            base.ExpectedHash = Hash256.Parse("0000000000003a2bf9728419cd10d1c68493c99f275242db8e7df2ee9079e0ed");
            base.Header       = new Block
            {
                Version           = 1,
                PreviousBlockHash = Hash256.Parse("00000000000048c38a17019b15672158434e5dc7ae89bb808109843e4c7af45f"),
                MerkleRoot        = Hash256.Parse("a2198c4f6b03a76aaea0f8c174de28358eb6affd66471d91ad7d0e0115bb36c1"),
                Timestamp         = 1305421686,
                DifficultyBits    = 443192243, //0x1a6a93b3
                Nonce             = 3195439750,
            };
            base.Header.Freeze();
            base.ExpectedMerkleTree = new[]
            {
                Hash256.Parse("b3fb95ee04a3d3159ad7d1773d6fe6a1397f37fa99c138a23ef9f645b7a4a6b7"),
                Hash256.Parse("ad5512b67fee69c0e3293290c3d7ff88d6576fb8b2c55a037e0f003cf88a0151"),
                Hash256.Parse("a2198c4f6b03a76aaea0f8c174de28358eb6affd66471d91ad7d0e0115bb36c1"),
            };
            var serMsg  = SerializedBlockMessage;
            var serData = new byte[serMsg.Length - 24];

            Array.Copy(serMsg, 24, serData, 0, serData.Length);
            base.SerializedBlockData = serData;
        }
コード例 #2
0
        public void StringParseRoundTrip(string hashString)
        {
            var hash      = Hash256.Parse(hashString);
            var roundTrip = hash.ToString();

            Assert.AreEqual(hashString, roundTrip, StringComparison.OrdinalIgnoreCase);
        }
コード例 #3
0
ファイル: B103640.cs プロジェクト: neoeinstein/xpdm.Bitcoin
 private B103640()
 {
     base.ExpectedHash = Hash256.Parse("0000000000003702793ba6bf5a085eccee1ec9b249f6ff42063b34980e7cf028");
     base.Header       = new Block
     {
         Version           = 1,
         PreviousBlockHash = Hash256.Parse("000000000000111a11fcee10f2b46210aacc2e2e4c7dd1d1924b2f6f03e8316f"),
         MerkleRoot        = Hash256.Parse("63a37fe141ab610d471067f75591f291c4d6d4333e3213363f06f187fce04e82"),
         Timestamp         = 1295526788,
         DifficultyBits    = 453217774, //0x1b038dee
         Nonce             = 3592101678,
     };
     base.Header.Freeze();
     base.Block = new Block
     {
         Version           = 1,
         PreviousBlockHash = Hash256.Parse("000000000000111a11fcee10f2b46210aacc2e2e4c7dd1d1924b2f6f03e8316f"),
         Timestamp         = 1295526788,
         DifficultyBits    = 453217774, //0x1b038dee
         Nonce             = 3592101678,
         Transactions      =
         {
             B103640.Coinbase,
             B103640.Tx1,
         },
     };
     base.Block.Freeze();
     ExpectedMerkleTree = new[]
     {
         Hash256.Parse("cdd3cf10fe83c28d1ac80714a48440e47f1c6b6950fec54f6b8ea04241004cb5"),
         Hash256.Parse("945691940e0ccd9f526ee1edd57a77ce170804915749702f5564c49b1f70f330"),
         Hash256.Parse("63a37fe141ab610d471067f75591f291c4d6d4333e3213363f06f187fce04e82"),
     };
 }
コード例 #4
0
 private B000170()
 {
     base.ExpectedHash = Hash256.Parse("00000000d1145790a8694403d4063f323d499e655c83426834d4ce2f8dd4a2ee");
     base.Header       = new Block
     {
         Version           = 1,
         PreviousBlockHash = Hash256.Parse("000000002a22cfee1f2c846adbd12b3e183d4f97683f85dad08a79780a84bd55"),
         MerkleRoot        = Hash256.Parse("7dac2c5666815c17a3b36427de37bb9d2e2c5ccec3f8633eb91a4205cb4c10ff"),
         Timestamp         = 1231731025,
         DifficultyBits    = 486604799, //0x1d00ffff
         Nonce             = 1889418792,
     };
     base.Header.Freeze();
     base.Block = new Block
     {
         Version           = 1,
         PreviousBlockHash = Hash256.Parse("000000002a22cfee1f2c846adbd12b3e183d4f97683f85dad08a79780a84bd55"),
         Timestamp         = 1231731025,
         DifficultyBits    = 486604799, //0x1d00ffff
         Nonce             = 1889418792,
         Transactions      =
         {
             B000170.Coinbase,
             B000170.Tx1,
         },
     };
     base.Block.Freeze();
     base.ExpectedMerkleTree = new[]
     {
         Hash256.Parse("b1fea52486ce0c62bb442b530a3f0132b826c74e473d1f2c220bfa78111c5082"),
         Hash256.Parse("f4184fc596403b9d638783cf57adfe4c75c605f6356fbc91338530e9831e9e16"),
         Hash256.Parse("7dac2c5666815c17a3b36427de37bb9d2e2c5ccec3f8633eb91a4205cb4c10ff"),
     };
 }
コード例 #5
0
 private B000000()
 {
     base.ExpectedHash = Hash256.Parse("000000000019d6689c085ae165831e934ff763ae46a2a6c172b3f1b60a8ce26f");
     base.Header       = new Block
     {
         Version           = 1,
         PreviousBlockHash = Hash256.Empty,
         MerkleRoot        = Hash256.Parse("4a5e1e4baab89f3a32518a88c31bc87f618f76673e2cc77ab2127b7afdeda33b"),
         Timestamp         = 1231006505,
         DifficultyBits    = 486604799, //0x1d00ffff
         Nonce             = 2083236893,
     };
     base.Header.Freeze();
     base.Block = new Block
     {
         Version           = 1,
         PreviousBlockHash = Hash256.Empty,
         Timestamp         = 1231006505,
         DifficultyBits    = 486604799, //0x1d00ffff
         Nonce             = 2083236893,
         Transactions      =
         {
             B000000.Coinbase,
         },
     };
     base.Block.Freeze();
     base.ExpectedMerkleTree = new[]
     {
         Hash256.Parse("4a5e1e4baab89f3a32518a88c31bc87f618f76673e2cc77ab2127b7afdeda33b"),
     };
 }
コード例 #6
0
ファイル: B072783.cs プロジェクト: neoeinstein/xpdm.Bitcoin
 private B072783()
 {
     base.ExpectedHash = Hash256.Parse("000000000074672e28f2049c94c5d7fe3b20753f0ed6a8aa168e1c103cc48388");
     base.Header       = new Block
     {
         Version           = 1,
         PreviousBlockHash = Hash256.Parse("0000000000b94dd60e9a8fabb3d6b3a820486a566ed260855583a17f1ba18a29"),
         MerkleRoot        = Hash256.Parse("bdc105236f133fb9fd8ef55fc0247bf46bb400e9d7b8b2e925b16dea931bce4f"),
         Timestamp         = 1281155353,
         DifficultyBits    = 469809688, //0x1c00ba18
         Nonce             = 1000411397,
     };
     base.Header.Freeze();
     base.Block = new Block
     {
         Version           = 1,
         PreviousBlockHash = Hash256.Parse("0000000000b94dd60e9a8fabb3d6b3a820486a566ed260855583a17f1ba18a29"),
         Timestamp         = 1281155353,
         DifficultyBits    = 469809688, //0x1c00ba18
         Nonce             = 1000411397,
         Transactions      =
         {
             B072783.Coinbase,
             B072783.Tx1,
         },
     };
     base.Block.Freeze();
     base.ExpectedMerkleTree = new[]
     {
         Hash256.Parse("9f92327b5a71d5acf608974fd8bbf16abc948ae21f934a2a5a7c841c499b5f92"),
         Hash256.Parse("b77e0fc6d275c951342a33473015937e62b25a68538d78a260f1225b2835a283"),
         Hash256.Parse("bdc105236f133fb9fd8ef55fc0247bf46bb400e9d7b8b2e925b16dea931bce4f"),
     };
 }
コード例 #7
0
        private B124010()
        {
            base.ExpectedHash = Hash256.Parse("0000000000003a8b34e22c6e7b4934993d91261fe0f7e0f2940c6abd8bfae156");
            base.Header       = new Block
            {
                Version           = 1,
                PreviousBlockHash = Hash256.Parse("0000000000003a2bf9728419cd10d1c68493c99f275242db8e7df2ee9079e0ed"),
                MerkleRoot        = Hash256.Parse("b8694ee1b40d0802df4755f66f662dee380f4ad5a093d48e0e12ab730af92751"),
                Timestamp         = 1305422821,
                DifficultyBits    = 443192243, //0x1a6a93b3
                Nonce             = 3984824426,
            };
            base.Header.Freeze();
            base.ExpectedMerkleTree = new[]
            {
                Hash256.Parse("f6b344e9d4a7541a40ac6967ed7258542283e21b111322c7c6db5c1f5ed3826f"),
                Hash256.Parse("c860b61c73a23f4b0777b222edc3da4a7dbc71f74a8450cb8822d6fc40fde18b"),
                Hash256.Parse("cfb583b55ab800621dfaad5e19216520318bd980dfe23f6e2e93a027b12201d6"),
                Hash256.Parse("be076c6f4668f24c4427306e83f10f0a5dbd801a5fa1542716fbc82b26d60e36"),
                Hash256.Parse("029ee8bef83db3188bd9b7aeb3ee8cd507e1ad57d7341fdfce088fb6885867d5"),
                Hash256.Parse("247b55531c72a13048f3e1bde3bd435ec779c42d8cc33aa45f1ac1e8a9ff28f8"),
                Hash256.Parse("ace9eeed06bbc2efd574db233d7156802f24a909b9a6d32306a9b63a4d5d916f"),
                Hash256.Parse("852b7700c26499029a0f902ecdf280c471547123220e7d8c6bdb06919294fa51"),
                Hash256.Parse("13942c810a7a820fff3a380e2e1561edf225cce3d26a44a2be3e4b107839915f"),
                Hash256.Parse("84f8b9bbada011cdd870d1ecdbbf652fe3bb5a41c0e980dca450dcb9aaeeab8b"),
                Hash256.Parse("f28761813116cb7c388b386ac4880af146be9edb68664a0ad8e6ab1dc7295199"),
                Hash256.Parse("a25b72a25c6f2d52bebc4670a9832f118db1d0760698229f39d24528a0c880d9"),
                Hash256.Parse("0b05dc4b5b9e4cb37ef67d91982c068d1c646ef56de357f71a24e9ce8735fdec"),
                Hash256.Parse("e3e6c054908f591151c8b18cb88cf2878e9cd294734190ecc04289470c37327d"),
                Hash256.Parse("d6ca67466f0c58bdc5d0c2e140295d79fdea27c1bae8985292828f762ecfbfba"),
                Hash256.Parse("a111aaa5de9344f3fd33f056e3eab691179b2973ab1c196914af9045710887c5"),
                Hash256.Parse("18f385c2b3fa101b3e2fbd106a0fdbfe7c6240168d3d7f3b3ff8a10d7faa78b4"),
                Hash256.Parse("e71f71ee557a9157d8d13b3a6bf1752add91a0bc44b3ddf077c5d20232938378"),
                Hash256.Parse("d8d059aeadc543817c6133f7a9d0fc688c3de813df8d91f3c053f8eb8e5200fb"),
                Hash256.Parse("5861ee7d4d1b795c98b039c1af55a9c2149569b77391036767b20aa5263cafa9"),
                Hash256.Parse("923e6ac1d117d5e4de3005ebe21b7aa89de4bad9679251b62e6b9deb4445e767"),
                Hash256.Parse("e60aa79c2dfe4815489d5533b93b0df112efc3bf47c80c8c07783e92159392d8"),
                Hash256.Parse("9f89e501c9005f5bb67f16d33d2a8dfe5d71eb8fe59bf0f3764994b7bb5f6218"),
                Hash256.Parse("da2d633976b7f1fc012ca0a96457907852069c2441cce19b75a4c020f3260dd5"),
                Hash256.Parse("1cf8960c96a5e9a370d0c7841391019968dc3439d022a7647d77caff30db2e49"),
                Hash256.Parse("52bdd96630258c1aebcfdccd2b8971ff32cae3783958ce0c500fdff79943ec34"),
                Hash256.Parse("ee873fc0b60bc12ab154f6222d6868245d467b4f3798b47f2439a52fed222c16"),
                Hash256.Parse("b8694ee1b40d0802df4755f66f662dee380f4ad5a093d48e0e12ab730af92751"),
            };
            var serMsg  = SerializedBlockMessage;
            var serData = new byte[serMsg.Length - 24];

            Array.Copy(serMsg, 24, serData, 0, serData.Length);
            base.SerializedBlockData = serData;
        }
コード例 #8
0
 private B072785()
 {
     base.ExpectedHash = Hash256.Parse("00000000009ffdadbb2a8bcf8e8b1d68e1696802856c6a1d61561b1f630e79e7");
     base.Header       = new Block
     {
         Version           = 1,
         PreviousBlockHash = Hash256.Parse("0000000000b079382c19436fe8e076e199f0faa9014a930caf89d15744d9aec7"),
         MerkleRoot        = Hash256.Parse("e81287dc0c00422aaf0db3e4586c48b01acd82b3108da6956cbd6baf19cfaf9a"),
         Timestamp         = 1281156783,
         DifficultyBits    = 469809688, //0x1c00ba18
         Nonce             = 2283211008,
     };
     base.Header.Freeze();
     base.Block = new Block
     {
         Version           = 1,
         PreviousBlockHash = Hash256.Parse("0000000000b079382c19436fe8e076e199f0faa9014a930caf89d15744d9aec7"),
         Timestamp         = 1281156783,
         DifficultyBits    = 469809688, //0x1c00ba18
         Nonce             = 2283211008,
         Transactions      =
         {
             B072785.Coinbase,
             B072785.Tx1,
             B072785.Tx2,
             B072785.Tx3,
             B072785.Tx4,
             B072785.Tx5,
         },
     };
     base.Block.Freeze();
     base.ExpectedMerkleTree = new[]
     {
         Hash256.Parse("2d7f4d1c25893dcaf538fdd1f34104687211ca7d8a1ba43c16b618d5fbc620c3"),
         Hash256.Parse("3407a84dce0fe04fdab91608d1974941af3683ea6e4d904a30469485c50d336a"),
         Hash256.Parse("5edf5acf8f517d965219a5495321e0bedd761daf45bcdc59a33b07b520968b8c"),
         Hash256.Parse("65c35615b476c86f28a4d3a8985ea161cc2e35e6574eacbd68942782ce29804c"),
         Hash256.Parse("89aa32f6e1b047e740401ce4fd43a865631de5a959fde7451936c28c52249b56"),
         Hash256.Parse("e3e69c802b7e36d220151e4ccdeace1d58ca2af97c5fd970314bbecd9767a514"),
         Hash256.Parse("8ebc6ac1c5c656c19632f8b7efd130303a9710ed1c0ea12935255d6fefc5d3b4"),
         Hash256.Parse("d5e41432e73312b7c82fe57303ff5bd3d0f82cb933a89bd5d80a11556fb54e07"),
         Hash256.Parse("89b77c032617fb9c37f2f922264d87764f16307541880b569fc8ca52dcec074a"),
         Hash256.Parse("d1074c2765e46d3102c51ff38d2f9a0eff87d90e5e70d89ce03f508bf5a65874"),
         Hash256.Parse("70a4e6dfb21e1e341ba2893e87bcc5473d1884505d8556cd5866a6e369174786"),
         Hash256.Parse("e81287dc0c00422aaf0db3e4586c48b01acd82b3108da6956cbd6baf19cfaf9a"),
     };
 }
コード例 #9
0
        public void ParseAndTryParseAreEquivalent(
            [RandomStrings(Count = 10, Pattern = "[0-9a-fA-F]{64}")] string hashString)
        {
            Hash256 tryHash;
            var     good = Hash256.TryParse(hashString, out tryHash);

            if (good)
            {
                Hash256 hash = null;
                Assert.DoesNotThrow(() => hash = Hash256.Parse(hashString));
                Assert.AreEqual(tryHash, hash);
            }
            else
            {
                Assert.Throws <FormatException>(() => Hash256.Parse(hashString));
            }
        }
コード例 #10
0
 private B103958()
 {
     base.ExpectedHash = Hash256.Parse("000000000002055a179aa185de281da76ce6de1d0df94a7bf4ea642dff0070ae");
     base.Header       = new Block
     {
         Version           = 1,
         PreviousBlockHash = Hash256.Parse("0000000000005639d7aa5a5c32c9c2e622040c5cb4ded25a9201254cd1c09468"),
         MerkleRoot        = Hash256.Parse("54312d3d842bbe585c15cef58ae300b2cf105f59e5d27f5bcc24c61d52270f31"),
         Timestamp         = 1295686236,
         DifficultyBits    = 453217774, //0x1b038dee
         Nonce             = 3826166152,
     };
     base.Header.Freeze();
     base.Block = new Block
     {
         Version           = 1,
         PreviousBlockHash = Hash256.Parse("0000000000005639d7aa5a5c32c9c2e622040c5cb4ded25a9201254cd1c09468"),
         Timestamp         = 1295686236,
         DifficultyBits    = 453217774, //0x1b038dee
         Nonce             = 3826166152,
         Transactions      =
         {
             B103958.Coinbase,
             B103958.Tx1,
             B103958.Tx2,
         },
     };
     base.Block.Freeze();
     base.ExpectedMerkleTree = new[]
     {
         Hash256.Parse("f2dedefe5222786abd6cb2223c89e50d590f234dbba69002d5ad5cd6e438abfd"),
         Hash256.Parse("ff954e099764d192c5bb531c9c14c18c230b0c0a63f02cd168a4ea94548c890f"),
         Hash256.Parse("69ea9cf5e3e116cffe595d16b3258cd3508768fe3a1ce087ed8479f3d78ef91a"),
         Hash256.Parse("cb4e6248ed1591012e5c3c865ad732f423b6d2ac2beaa5be0c576934e8a436bd"),
         Hash256.Parse("6f9be236a0af022d0344802b2d89b85ff6a5df46db309db47b191f9f67413527"),
         Hash256.Parse("54312d3d842bbe585c15cef58ae300b2cf105f59e5d27f5bcc24c61d52270f31"),
     };
 }
コード例 #11
0
 public void BadStringParseThrowsFormatException(string hashString)
 {
     Assert.Throws <FormatException>(() => Hash256.Parse(hashString));
 }
コード例 #12
0
 public void NullStringParseThrowsArgumentNullException()
 {
     Assert.Throws <ArgumentNullException>(() => Hash256.Parse(null));
 }
コード例 #13
0
 public ITestTx this[string txHash]
 {
     get { return(_txHash[Hash256.Parse(txHash)]); }
 }
コード例 #14
0
 public ITestBlock this[string blockHash]
 {
     get { return(_blocksHash[Hash256.Parse(blockHash)]); }
 }