Я использую NBitcoin
библиотеку для создания личных ключей и адресов, но не могу найти пример отправки биткойнов.
У кого-нибудь есть c#
пример кода для отправки биткойнов с помощью NBitcoin
библиотеки?
Вы можете найти пример здесь .
В частности, посмотрите первый пример, где Алиса отправляет биткойны Сатоши:
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();
Обратите внимание на результаты (начальные монеты Алисы). Первый использует GetAddress() для получения биткойн-адреса, соответствующего закрытому ключу Алисы (т. е. P2PKH), а второй использует открытый ключ Алисы (т. е. 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));
Гидеонлоу
караск
Гидеонлоу
караск