Sending
如何使用 c# 和 nbitcoin 庫發送比特幣?
我正在使用
NBitcoin
庫來創建我的私鑰和地址,但我找不到如何發送比特幣的範例。有人有使用該庫
c#
發送比特幣的範常式式碼嗎?NBitcoin
你可以在這裡找到一個例子。
具體來說,請參見 Alice 向 Satoshi 發送比特幣的第一個範例:
Transaction aliceFunding = new Transaction() { Outputs = { new TxOut("0.45", alice.GetAddress()), new TxOut("0.8", alice.Key.PubKey) } }; Coin[] aliceCoins = aliceFunding .Outputs .Select((o, i) => new Coin(new OutPoint(aliceFunding.GetHash(), i), o)) .ToArray();
注意輸出(Alice 的初始硬幣)。第一個使用GetAddress() 獲取Alice 的私鑰(即P2PKH)對應的比特幣地址,而第二個使用Alice 的公鑰(即P2PK)。
事務是在這裡建構的:
var txBuilder = new TransactionBuilder(); var tx = txBuilder .AddCoins(aliceCoins) .AddKeys(alice.Key) .Send(satoshi.GetAddress(), "1.00") .SendFees("0.001") .SetChange(alice.GetAddress()) .BuildTransaction(true); Assert(txBuilder.Verify(tx)); //check fully signed
好的,我更新了程式碼:
//Load latest transaction: var blockr = new BlockrTransactionRepository(); NBitcoin.uint256 check = new NBitcoin.uint256("4ebf7f7ca0a5dafd10b9bd74d8cb93a6eb0831bcb637fec8e8aabf842f1c2688"); Transaction aliceFunding = blockr.Get(check); Coin[] aliceCoins = aliceFunding .Outputs .Select((o, i) => new Coin(new OutPoint(aliceFunding.GetHash(), i), o)) .ToArray(); txBuilder = new TransactionBuilder(); tx = txBuilder .AddCoins(aliceCoins) .AddKeys(alice.Key) .Send(satoshi.GetAddress(), "0.05") .SendFees("0.001") .SetChange(alice.GetAddress()) .BuildTransaction(true); Assert(txBuilder.Verify(tx));