Полезное на первых 10-ти страницах:
some lecture that you can use to complete this book
- Mastering Bitcoin of Andreas M. Antonopoulos
- The articles I wrote on CodeProject (you can find them in the Readme of the github page of NBitcoin)
- And the reference
https://bitcoin.org/en/developer-guide Once in possession of this book, you are free to share and adapt, as specified in the Attribution-ShareAlike 3.0 Unported (CC BY-SA 3.0).
Страницы 13-15 - как создать ключи при помощи библиотеки NBitcoin
using NBitcoin;
var k = new Key(); // создать закрытый ключ
var pubKey = k.PubKey; // получить открытый ключ
KeyId hash = pubKey.Hash; // сформировать часть биткоин-адреса, независимую от сети
BitcoinAddress a = hash.GetAddress(Network.Main); // var a=hash.ScriptPubKey;
Script s = a.ScriptPubKey; // скрипт с опкодами и всё такое
BitcoinSecret WIF=k.GetBitcoinSecret(Network.Main); // WIF format - key in BASE58 encoding
it is possible to get the address from the Script and Network
var s = new Script("OP_DUP OP_HASH160 ff77ae0a6f61fedd8d...");
BitcoinAddress a = s.GetDestinationAddress(Network.Main);
Страница 16 - как распечатать транзакцию
Страница 20 - как создать транзакцию
var blockr = new BlockrTransactionRepository();
Transaction fundingTransaction = blockr.Get("0B948B0...");
var payment = new Transaction();
payment.Inputs.Add(new TxIn(), {prevOut = new OutPoint(fundingTransaction.GetHash(),1) });
payment.Outputs.Add(...); // адрес получателя
payment.Outputs.Add(...); // адрес для сдачи
payment.Outputs.Add(...); // сопроводительный текст
payment.Sign(paymentSecret, false);
Страница 23 - как отправить через узел
using (var n = Node.ConnectToLocal(Network.Main))
{
n.VersionHandshake();
n.SendMessage(new InvPayload(InventoryType.MSG_TX), payment.Hash);
n.SendMessage(new TxPayload(payment));
Thread.Sleep(500);
} // close connection in Dispose();
Страницы 27-30
Хранение закрытого ключа в зашифрованном (при помощи пароля) формате,
делегирование генерирования ключа
Страницы 31-35
Создание иерархии ключей (HD wallet) (это фича эллиптической криптографии)
Страницы 36-39
StealthPubKey (DarkWallet)
Страницы 40-48
Другие типы транзакций: MultiSig, PayToScriptHash
дальше только заголовки разделов до конца документа