コード例 #1
0
        public void CanDecodeUnspentTransaction()
        {
            var testJson =
                @"{
	""bestblock"": ""d54994ece1d11b19785c7248868696250ab195605b469632b7bd68130e880c9a"",
	""confirmations"": 1,
	""value"": 7.744E-05,
	""scriptPubKey"": {
		""asm"": ""OP_DUP OP_HASH160 fdb12c93cf639eb38d1998959cfd2f35eb730ede OP_EQUALVERIFY OP_CHECKSIG"",
		""hex"": ""76a914fdb12c93cf639eb38d1998959cfd2f35eb730ede88ac"",
		""reqSigs"": 1,
		""type"": ""pubkeyhash"",
		""addresses"": [
		  ""n4eMVrvNqe4EtZDEeei3o63hymTKZNZGhf""
		]
	},
	""coinbase"": true
}";
            var testData           = JObject.Parse(testJson);
            var unspentTransaction = new UnspentTransaction(testData);

            Assert.Equal(1, unspentTransaction.confirmations);
            Assert.Equal(1, unspentTransaction.scriptPubKey.reqSigs);
            Assert.Equal(1, unspentTransaction.scriptPubKey.addresses.Count);
            Assert.Equal(7.744E-05m, unspentTransaction.value);
        }
コード例 #2
0
 public async void GetTxOutAsyncWithValidTxThenReturnsCorrectUnspentTxAsync()
 {
     RPCClient rpc = this.rpcTestFixture.RpcClient;
     UnspentCoin[] unspent = rpc.ListUnspent();
     Assert.True(unspent.Any());
     UnspentCoin coin = unspent[0];
     UnspentTransaction resultTxOut = await rpc.GetTxOutAsync(coin.OutPoint.Hash, coin.OutPoint.N, true);
     Assert.Equal((int)coin.Confirmations, resultTxOut.confirmations);
     Assert.Equal(coin.Amount.ToDecimal(MoneyUnit.BTC), resultTxOut.value);
     Assert.Equal(coin.Address.ToString(), resultTxOut.scriptPubKey.addresses[0]);
 }
コード例 #3
0
        public void CanGetTxOutNoneFromRPC()
        {
            using (NodeBuilder builder = NodeBuilder.Create(this))
            {
                CoreNode node = builder.CreateBitcoinCoreNode(version: BitcoinCoreVersion15).Start();

                RPCClient rpcClient = node.CreateRPCClient();

                uint256            txid        = rpcClient.Generate(1).Single();
                UnspentTransaction resultTxOut = rpcClient.GetTxOut(txid, 0, true);
                Assert.Null(resultTxOut);
            }
        }
コード例 #4
0
        public void CanGetTxOutNoneFromRPC()
        {
            using (NodeBuilder builder = NodeBuilder.Create(this))
            {
                CoreNode node = builder.CreateBitcoinCoreNode(version: "0.18.0", useNewConfigStyle: true).Start();
                CoreNode sfn  = builder.CreateStratisPowNode(this.regTest).Start();

                TestHelper.ConnectAndSync(node, sfn);

                RPCClient rpcClient = node.CreateRPCClient();
                RPCClient sfnRpc    = sfn.CreateRPCClient();

                uint256            txid        = rpcClient.Generate(1).Single();
                UnspentTransaction resultTxOut = rpcClient.GetTxOut(txid, 0, true);
                Assert.Null(resultTxOut);

                TestHelper.ConnectAndSync(node, sfn);

                resultTxOut = sfnRpc.GetTxOut(txid, 0, true);
                Assert.Null(resultTxOut);
            }
        }