Создание биткойн-сырой транзакции забирает весь баланс - PullRequest
2 голосов
/ 31 мая 2019

Я создаю необработанную транзакцию с использованием биткойн-тестовой сети, но когда я помещаю необработанную транзакцию в сеть, она забирает весь мой баланс.Должен ли я отправить оставшиеся «изменения» обратно себе?Вот код, который я использую для создания необработанной транзакции:

var bitcoin = require('bitcoinjs-lib');

var keyPair = bitcoin.ECPair.fromWIF('cMvPQZiG5mLARSjxbBwMxKwzhTHaxgpTsXB6ymx7SGAeYUqF8HAT', bitcoin.networks.testnet);
var tx = new bitcoin.TransactionBuilder(bitcoin.networks.testnet);

tx.addInput('87502f792d477f0514a92486c875fa1fb631fd68c95ccf458c264155165a95c6', 1);
tx.addOutput('msWccFYm5PPCn6TNPbNEnprA4hydPGadBN', 10000);
tx.sign(0, keyPair);

console.log(tx.build().toHex());

Правильно ли я считаю, что мне также нужно вернуть себе оставшуюся сумму?так, например, если мой первоначальный баланс был 0,00114 BTC, я бы сделал это:

tx.addInput('87502f792d477f0514a92486c875fa1fb631fd68c95ccf458c264155165a95c6', 1);

// senders address
tx.addOutput('ms9ySK54aEC2ykDviet9jo4GZE6GxEZMzf ', 104000);

// receivers address
tx.addOutput('msWccFYm5PPCn6TNPbNEnprA4hydPGadBN', 10000);

Это правильный путь?

1 Ответ

2 голосов
/ 31 мая 2019

Правильно ли я считаю, что мне также нужно вернуть себе оставшуюся сумму?

Да, вы правы. Любые средства, которые не отправлены на какой-либо конкретный адрес, могут быть истребованы майнером в качестве комиссии за транзакцию. Так создается комиссия за транзакцию.

Ознакомьтесь с первой транзакцией биткойнов, совершенной Сатоши Накамото Хэлу Финни в Блок 170 . Сатоши послал 10BTC Хэлу и 40 назад самому себе. Поскольку это было так рано, не нужно было платить за транзакцию, потому что они сами добывали блоки. Сегодня, если вы попытаетесь отправить транзакцию без комиссии, узлы отклонят ее (минимальная плата за ретрансляцию не соблюдается), но даже майнеры с низкой комиссией, вероятно, решат не добывать ее в ближайшее время (если вообще когда-либо).

block 170

...