Jump to content
e46btc

Двойная трата Double-spending - пошаговая инструкция с картинками

Recommended Posts

Скрытый текст

 

а можно как то более развёрнуто?
спасибо 😃

Share this post


Link to post
Share on other sites
5 часов назад, kzw сказал:

как отменить транзакцию?

removeprunedfunds пробовали?

5 часов назад, kzw сказал:

что нужно сделать, что бы, либо транза появилась в сети

может просто нода не полностью синхронизирована?

Share this post


Link to post
Share on other sites

@kzw 

Quote

-zapwallettxes

пробовали?

Share this post


Link to post
Share on other sites
10 часов назад, kzw сказал:

метод decoderawtransaction(<trans(hex)>) расшифровывает эту транзу, но там тоже нет ничего интересного

 

Комиссия какая у этой транзакции?

Share this post


Link to post
Share on other sites
2 часа назад, Old Miner сказал:

Комиссия какая у этой транзакции?

эмс... если не называть точных сумм, то очень (неприлично) большая
 

 

6 часов назад, sankopolo сказал:

пробовали?

еще нет, есть мнение, что сервак сам по прошествии (в "сети" говорят 14 дней) какого то времени отменит транзу
ждем... прошло только 10 дней
 

 

7 часов назад, jam72 сказал:
13 часов назад, kzw сказал:

 

removeprunedfunds пробовали?

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

Share this post


Link to post
Share on other sites
13 минут назад, kzw сказал:

еще нет, есть мнение, что сервак сам по прошествии (в "сети" говорят 14 дней) какого то времени отменит транзу
ждем... прошло только 10 дней

Там можно в конфиге настроить это время хоть на 1 час и не ждать.

15 минут назад, kzw сказал:

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

Должен, а как иначе? Впрочем, я ни разу не пользовался этой командой, ничего утверждать не могу.

Share this post


Link to post
Share on other sites
29 minutes ago, kzw said:

еще нет, есть мнение, что сервак сам по прошествии (в "сети" говорят 14 дней) какого то времени отменит транзу
ждем... прошло только 10 дней

Не занимайтесь ерундой. По зависшим транзакциям есть подробный FAQ , там есть 90%+ информации по этой теме, которая может понадобиться обычному пользователю.

Если вы хотите отмены и траназкции нет в эксплорерах - всё максимально просто.

Share this post


Link to post
Share on other sites
9 часов назад, jam72 сказал:

просто нода не полностью синхронизирована?

как это можно проверить?
какие то методы из АПИ есть?
или через консоль посмотреть?
или как это можно поправить ("полностью синхронизировать ноду")?

Share this post


Link to post
Share on other sites

@kzw можно дать команду getblockcount и сравнить значение с последним блоком на эксплорере.

Edited by jam72

Share this post


Link to post
Share on other sites
9 минут назад, sankopolo сказал:

там есть 90%+ информации по этой теме

я с той темы и перешел в эту (ну типа прочитал то, что в шапке написано)
 

 

10 минут назад, sankopolo сказал:

Если вы хотите отмены и траназкции нет в эксплорерах - всё максимально просто

ну так подскажите
я уже писал, транзы нет в экплорерах уже 10 дней (ее видит только сам кошель на серваке, сервак в сети, а не дома)
что нужно сделать для того, что бы сумма вернулась на баланс кошелька ИЛИ таки транзакция появилась в сети и сумма ушла получателю?

Share this post


Link to post
Share on other sites
6 минут назад, jam72 сказал:

@kzw можно дать команду getblock и сравнить значение с последним блоком на эксплорере.

@kzw сорри, наврал, getblockcount на самом деле надо.

Share this post


Link to post
Share on other sites
3 минуты назад, jam72 сказал:

дать команду getblock и сравнить

метод подразумевает, что в аргументе должен быть blockhash

где его взять?
используя метод gettransaction(<txid>) выдает некую информацию, но там нет упоминания blockhash
можно раскодировать транзу
там есть нечто похожее [hash] => <дохрена_символов>
это оно?

Share this post


Link to post
Share on other sites

@kzw по памяти писал, ошибся, выше поправил. Можно и getblockchaininfo посмотреть, там тоже число блоков есть.

Share this post


Link to post
Share on other sites
4 минуты назад, jam72 сказал:

getblockcount на самом деле надо

ок, выполнил команду
получил NNN
запросил в эксплорере этот блок
что мне смотреть в эксплорере?
 

Share this post


Link to post
Share on other sites
1 минуту назад, kzw сказал:

запросил в эксплорере этот блок

Не надо этот блок запрашивать.

2 минуты назад, kzw сказал:

что мне смотреть в эксплорере?

Например, здесь в данный момент номер последнего блока 666613, если ваша нода синхронизирована, то должно быть такое же число.

Share this post


Link to post
Share on other sites

на момент написания этого поста, номер блока уже другой 666616
но не суть, на момент написания предыдущего поста, запрос отдал именно 666613 - запрос методом getblockcount()
так что все нормально с этим

Share this post


Link to post
Share on other sites
1 hour ago, kzw said:

ну так подскажите
я уже писал, транзы нет в экплорерах уже 10 дней (ее видит только сам кошель на серваке, сервак в сети, а не дома)
что нужно сделать для того, что бы сумма вернулась на баланс кошелька ИЛИ таки транзакция появилась в сети и сумма ушла получателю?

Я вроде уже писал, но могу ещё раз.

  

On 3/7/2013 at 6:42 AM, sankopolo said:

Закрываем кошелек, запускаем его с параметром -zapwallettxes и ждем пока он откроется. Когда кошелек запустится, все неподтвержденные транзакции из него исчезнут (но они ещё есть в сети!). Для bitcoin core 0.14 и выше потребуется перед запуском ещё удалить (переименовать или перенести) файл mempool.dat.

 

Quote

  -zapwallettxes=<mode>
       Delete all wallet transactions and only recover those parts of the
       blockchain through -rescan on startup (1 = keep tx meta data e.g.
       payment request information, 2 = drop tx meta data)

 

 

Share this post


Link to post
Share on other sites
18 минут назад, sankopolo сказал:

-zapwallettxes=<mode>

 

Кстати, из последней версии Bitcoin Core 0.21.0 выпилили -zapwallettxes. Взамен предлагают пользоваться консольной командой:

abandontransaction "txid"

 

Edited by Old Miner

Share this post


Link to post
Share on other sites
6 минут назад, sankopolo сказал:

Для bitcoin core 0.14 и выше потребуется перед запуском ещё удалить (переименовать или перенести) файл mempool.dat.

на серваке на данный момент 0.15

ок, об этом методе знаю, но думал может есть что то менее радикальное
 

8 минут назад, sankopolo сказал:

(но они ещё есть в сети!).

т.е. эта транза, которую не видит ни один эксплорер, все-таки в сети?
и, на сколько понимаю, даже после удаления неподтвержденных транзакций (-zapwallettxes) из кошелька, эта так и останется в сети?
что произойдет с балансом на кошельке?
сумма, отправленная этой транзой, на баланс вернется?
что будет далее, если (или когда) транзакция все-таки получит подтверждения (она же в сети, только ее никто не видит), баланс уменьшится на сумму отправления?

Share this post


Link to post
Share on other sites
9 минут назад, kzw сказал:

она же в сети, только ее никто не видит

Если транзакцию никто не видит, значит ноды её не принимают, и, следовательно, можно считать, что она не в сети. После выполнения -zapwallettxes ваша нода забудет о существовании этой транзакции и баланс вернётся в исходное состояние и в дальнейшем не должен будет меняться.

 

15 минут назад, kzw сказал:

на серваке на данный момент 0.15

И после всех этих манипуляций неплохо бы обновиться.

Share this post


Link to post
Share on other sites
Только что, Old Miner сказал:

неплохо бы обновиться

да, площадка уже подготовлена

Только что, Old Miner сказал:

и в дальнейшем не должен будет меняться

собственно этого и добиваюсь 😃
в общем, всем спасибо за ответы, отпишусь по результату

Share this post


Link to post
Share on other sites

такс...
отписываю
сделали -zapwallettxes
на баланс вернулось даже больше, чем сумма пропавшей транзы, возможно (и скорее всего) были и другие пропавшие

на момент совершения транзы (дата), этой транзы уже нет

надеюсь и не вернется...
еще раз спасибо всем 😃

Edited by kzw

Share this post


Link to post
Share on other sites

да, вот такой вопрос

в какую тему обратиться, для точного подсчета комиссии при выводе средств?
сейчас сервак сам считает комиссию, в зависимости от колв-а адресов, с которых вывод и она часто бывает завышена

использую:

1. метод listunspent() собирает кошельки с минимальными выходами и наличием на кошельках средств
собирает до тех пор, пока нужная сумма не набрана (сумма которая выводится)

2. метод createrawtransaction(<кошельки из п1>, <кош(куда) = сумма>)

3. метод fundrawtransaction(<данные из п2>, <объект_json(кош для сдачи)>)
4. метод signrawtransactionwithwallet(<hex транзы из п3>)
подписывает сырую транзу перед отправкой
вот как раз здесь метод должен вернуть комиссию
транза пока не отправлена в сеть
но можно назначить комиссию самому и добавить ее в массив <объект_json(кош для сдачи)> отдельным элементом
5. метод sendrawtransaction(<HEX подписанной транзы с комиссией>)
это уже именно отправка транзакции в сеть
собственно вопрос в том, как правильно рассчитать комиссию
если доверить серваку, то комиссия слишком большая

если считать самому, то какие данные использовать, исходя из тех методов что используются для создания транзы (или какие то другие)

если что, поиск на форуме использовал, но он вывалил 350 страниц совершенно бесполезной для меня информации 😃
в сети тоже искал, ничего внятного, кроме общих рекомендаций
 

Share this post


Link to post
Share on other sites
5 часов назад, kzw сказал:

собственно вопрос в том, как правильно рассчитать комиссию

 Комиссия равна числу вбайт транзакции, помноженному на цену передачи 1 байта. Первое посчитать не проблема, а вот цену выбрать точно не всегда получается, она зависит от будущих нестабильных событий. Я смотрю недавнюю цену здесь на третьем графике и, глядя там же на тенденцию ее изменения, выбираю какое-то значение.

 

Количество вбайт транзакции зависит от типа используемых в входах и выходах скриптов (грубо говоря, на какую цифру адреса начинаются) и их количества.

Я когда-то посчитал и у меня получились такие значения:

p2pkh 10+148i+34o
p2sh-p2wpkh 11+91i+32o
p2wpkh 11+68i+31o

p2wsh multisig 11+(42+18m+8.5n)i+43o
p2sh-p2wsh multisig 11+(77+18m+8.5n)i+32o
p2sh multisig 10+(46_49+72m+33n)i+31o

i здесь - количество входов, o - выходов. Погрешность результата в пределах нескольких байт.

 

Share this post


Link to post
Share on other sites
7 часов назад, jam72 сказал:

смотрю недавнюю цену здесь на третьем графике

я не могу скриптом "посмотреть" цену 😃
это нужно для PHP скрипта, который будет сам считать и отправлять транзу в сеть
 

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Recently Browsing   0 members

    No registered users viewing this page.

  • Similar Topics

    • Трата и получение Tether USDT (omni) с помощью Trezor, Ledger, Keepkey

      Хочу поделиться возможностью получать и отправлять Tether USDT (omni), который работает на блокчейне биткоина с помощью аппаратных кошельков Trezor, Ledger, Keepkey. Начнем с теории: Tether USDT использует блокчейн биткоина для движение средств в omni инфраструктуре - кошельках, обозревателях и т.п.. Для транзакции с usdt используется команда биткоин скрипта op_return, которая позволяет записать произвольные данные в блокчейн. Именно эти данные служат идентификатором для omni транзакций.

      in Кошельки для криптовалют

    • Двойная транзакция

      Оплачивал услуги через coinbase и как-то получилось, что произошло двойное списание. При этом ID транзакции одно и тоже, разные только последние три цифры  которые после - . У первой 000, у второй 001. На блокчейне естественно транзакция одна, а в кошельке деньги списаны за две.  Можно ли вернуть средства с дублирующей транзакции? Как?  Клиент bitcoin core.

      in Общий

×
×
  • Create New...