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); }
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]); }
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); } }
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); } }