Я все еще учусь, так что я, вероятно, делает ошибку, создавая сделку вручную.
Я думаю, что проблема может быть подписание или ScriptPubKey для входа. Я получаю ошибку "Ошибка при отправке транзакции: Отклонено сценарий для ввода 0 ссылающейся 3f9f7e004430ffc9072afe2730b041d705af35db9be3e2b0342010364b08230c в 1 .. " при попытке транслировать шестигранную Tx с помощью https://live.blockcypher.com/btc-testnet/pushtx/
Гекс:
01000000010c23084b36102034b0e2e39bdb35af05d741b03027fe2a07c9ff3044007e9f3f01000 0001976a914b57667ec0af6f55ebe15047ac17dc1beddfe53f388acffffffff0100e6e849000000 001976a9140c41824ce507d3819b3c2c3fa89e5d9e77e8678588ac00000000
Во всяком случае, вот код, возможно, кто-то может помочь?
Код:
ExtKey _xprvKey = ExtKey.Parse ("tprv8ZgxMBicQKsPdf3eLfgjbCxeGSep73nvrgA6eSRq9t4X4SoQ9DYGXeetjpbQ9qu5fd55k1VEADkre66Cfib1xD9P72qb8VzGTnC1vpVPmXV");
ExtKey extKey = _xprvKey.Derive (новый ключевой ресурс ("м / 0/0")); // это адрес источника, получатель TxIn
BitcoinSecret секрет = extKey.PrivateKey.GetBitcoinSecret (Network.TestNet);
BitcoinAddress sourceAddress = BitcoinAddress.Create ("mx4SSmJXaeqrDGwxWmnd6KWk68P6GjLbvf", Network.TestNet);
BitcoinAddress DestAddress = BitcoinAddress.Create ("mgdkszxePH9RT7C6aEbv7j3DdTXgCTwaTL", Network.TestNet); // это м / 0/1
вар blockr = новый BlockrTransactionRepository ();
blockr.Network = Network.TestNet;
Сделка fundingTransaction =
blockr.Get ("3f9f7e004430ffc9072afe2730b041d705af35db9be3e2b0342010364b08230c");
INT индекс = 1;
вар Ого = новый NBitcoin.Transaction ();
вар txIn = новый TxIn (новый минуса (fundingTransaction, индекс));
tx.AddInput (txIn);
вар сумма = новый Money (1240000000, MoneyUnit.Satoshi); // Всего в исходном адресе 12,5 BTC, держа 0,1 за плату
tx.AddOutput (сумма, DestAddress);
txIn.ScriptSig = sourceAddress.ScriptPubKey;
tx.Sign (secret.PrivateKey, ложь);