Ich verwende die NBitcoin
Bibliothek, um meine privaten Schlüssel und Adressen zu erstellen, aber ich kann kein Beispiel zum Senden von Bitcoin finden.
Hat jemand einen c#
Beispielcode zum Senden von Bitcoin mithilfe der NBitcoin
Bibliothek?
Ein Beispiel finden Sie hier .
Siehe insbesondere das erste Beispiel, in dem Alice Bitcoins an Satoshi sendet:
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();
Beachten Sie die Ausgänge (Alices anfängliche Münzen). Der erste verwendet GetAddress(), um die Bitcoin-Adresse zu erhalten, die dem privaten Schlüssel von Alice (dh P2PKH) entspricht, während der zweite den öffentlichen Schlüssel von Alice (dh P2PK) verwendet.
Und die Transaktion wird hier konstruiert:
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
ok ich habe den Code aktualisiert:
//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));
Gideonlouw
karask
Gideonlouw
karask