Биткоин ЭКП: как найти сделки, которые проводит txo успешно?

Я подозреваю, что нет хороший способ сделать это. Однако есть ли суб-оптимальный способ, чтобы найти сделки, которая проводит транзакции вывод (зная txid и индекс) с биткоин ЭКП?
Предполагая txindex=1 и чернослив=0.

Это был более общий вопрос. В моем случае:

  1. Когда я получаю txo успешно, на самом деле это UTXO.
  2. Меня интересуют только подтвержденные транзакции.

Единственным способом я могу придумать, чтобы ответить на оба вопроса перебора всех операций все блоки из txo успешно блока последнего полученного блока и mempool. Или в моем случае, я не против mempool.
Тем не менее, это громоздкое и, вероятно, я бы лучше с какой-то индексатор. Есть ли лучший способ сделать это с RPC?

+85
Jukebox 4 апр. 2013 г., 12:34:59
17 ответов

Мне нужно написать скрипт на C++ и библиотеки OpenSSL, которая принимает этот: 0250863ad64a87ae8a2fe83c1af1a8403cb53f53e486d8511dad8a04887e5b2352 выполняет SHA256 хэш SHA256 с помощью функции из библиотеки OpenSSL, а затем возвращает 0b7c28c9b7290c98d7438e70b3d3f7c848fbd7d1dc194ff83f4f7cc9b1378e98 как дайджест.

Вопрос у меня заключается в том, что я получаю различные сообщения после выполнения SHA256 хэш функция: a9ce83de3a0ff3516b7c50cdd787e9f69f152f227d93c9512774231e7132e925.

Я застрял на этом в течение приблизительно 2 недель и из моих исследований мне сказали, что моя функция не делать правильные преобразования мое сообщение перед выполнением хэш-функция SHA256.

Код

строки и SHA256(ул. строке const)
{
 неподписанные символ хэш[SHA256_DIGEST_LENGTH];
 SHA256_CTX и SHA256;
SHA256_Init(&и SHA256);
 SHA256_Update (ул.&SHA256 для,.c_str (СПО).размер());
 SHA256_Final(хэш, &и SHA256);
 stringstream СС;

 для(int я = 0; я < SHA256_DIGEST_LENGTH; я++)
{
 СС << шестигранной << в разделе setw(2) << setfill('0') << (инт)хэш - [я];
}
возвращение СС.(ул.);
}

тап_п()
{

 соіь << епси;
 соіь << и SHA256("0250863ad64a87ae8a2fe83c1af1a8403cb53f53e486d8511dad8a04887e5b2352") << епси;
 возврат 0;
}
+925
Alyssia Bell 03 февр. '09 в 4:24

-salvagewallet не команду, которая выполняется из отладочной консоли. Это не один из вызовов RPC биткоин ядра. Скорее -salvagewallet - это параметр командной строки. Вы установите его в команду, которая используется для работы с Bitcoin Core или вы установите его в биткоин.conf, добавив в него salvagewallet=1 к биткоин.conf, а затем начиная с ядра биткоин.

Обратите внимание, что -salvagewallet не всегда работает и иногда может привести к повреждению вашего кошелька, если он не поврежден. Это только как крайний вариант. Вы всегда должны сделать резервную копию бумажника-файл перед началом ядра биткоин с -salvagewallet.

+663
TracyLynn Kidder Roberson 5 авг. 2018 г., 6:34:07

есть blockchain.info одна для общего питания, но это очень низкое разрешение.

Я действительно был граф фактических новых биткоинов, добываемых на рынке на ежедневной основе, потому что он выглядит как-то странно неуловимое учитывая это sigificance.

Я знаю, что это где-то в районе 4300 BTC в день, и, вероятно, вполне стабильно. Хотя сама стабильность может быть интересно, потому что это не будет совершенным.

Не все, что блокчейн имеет эта информация в нем не так. Возможно, мне придется выяснить, сейчас на участке.

+568
Pinaki Mukherjee 26 окт. 2019 г., 2:02:04

Если HD-кошелька только дает мне 12 слово мнемоника, как можно получить мастера открытого ключа?

+567
Shoaib Chikate 27 окт. 2010 г., 17:03:06

Я создал получая адрес в биткойн ядро, сама отправляла несколько монет из localbitcoins.com и - глупая я - удалил получения адреса от ядра биткоин.

tradeblock.com показывает сделки с "подтвержденный баланс", но я не получил монеты в бумажнике. Есть ли способ восстановить адрес в биткойн ядра?

Спасибо!

ЗЫ: я не был достаточно конкретным:

  1. Я создал "платежное требование" в Bitcoin Core и используется информация о платежах, адрес ТТО отправить монеты с моего счета localbitcoins.com .

  2. Я удалил "просил платежей" в основной биткоин кошелек, прежде чем были получены монеты.

  3. Blockchain.info шоу "всего начислено" и "конечный остаток" и я предполагаю, что сделка была заключена. Однако, после 30++ часов, монет не получил моего ядра биткоин кошелек.

Это проводка, то там висит, потому что не может найти адрес, который я отправил монеты, но удален?

@Марч: Спасибо за подсказку. Вы правы: я знаю адрес, сделка, как представляется, быть подтверждена на Tradeblock но баланс не отображается в мой основной кошелек Биткоин (полностью синхронизированы).

+550
veniaminovna83 26 мая 2011 г., 8:19:26

http://www.michaelnielsen.org/ddi/how-the-bitcoin-protocol-actually-works/

дает очень хорошее представление о протоколе Bitcoin. Она объясняет, как транзакция будет завершена, как проверка осуществляется, минусы и плюсы некоторые правила и многое другое, но не в деталях, а элементарного понимания.

+529
user12568 21 окт. 2012 г., 15:21:05

Я пытаюсь написать скрипт, который создает сериализованный биткоин транзакцию с нуля.

Но когда дело доходит до количества входов, поле имеет переменную длину целого числа.

Это, как правило, только 1 байт (2 символа) в длину и вам не нужно ничего делать с этим, потому что биткойн-транзакции редко имеют более кодами 0xfe (253) входы.

Но что происходит, когда есть более 253 входы и размер поля увеличивается, чтобы вместить это?

Как бы вы поставили счетчик 256 входов в этой области?

https://en.bitcoin.it/wiki/Protocol_documentation#Variable_length_integer

+495
John Blake 14 нояб. 2012 г., 5:41:46

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

Я не понимаю. Не адрес уже повторно избежать, если получение/изменение адреса используется только один раз? Этот вариант означает, что каждый адрес получения будет отслеживаться по кошельку внутренне, так что расходы из нескольких "источников" вообще избежать? Не существует несколько сценариев, которые "тратят от нескольких источников" все равно неизбежны? Как это может улучшить жизнь? Не будет ли это создавать цепочки tracable "" сделок?

+415
Thibault Santonja 15 мая 2012 г., 5:45:30

Я изо всех сил пытался найти ответ на этот вопрос, но, похоже, нет твердого, хорошо документированный ответ на этот.

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

Я установил биткоин-ядра в Моя Ubuntu 16.04 с помощью пакета НПА,

судо АПТ-добавить-репозитории -г НПА:биткоин/Биткоин
судо apt-получить обновление
судо apt-получить установку bitcoind -г

и я установила 200ГБ жесткий диск для синхронизации всех данных Blockchain.

каталог /mnt/xvdb/

Я знаю, что данные каталога будут ~/.биткоин

как только я начинаю синхронизации, введя bitcoind & в Linux.

Как я могу сделать его синхронизации с подключенного жесткого диска ?

+319
kishfoo 1 мая 2012 г., 5:54:00

если у меня есть 1 BTC на мой адрес, предположим, что я бегу узел добыча, что мне мешает попытке разминирования блока, в которой я провожу 1.2 БТЦ ?

Это определенный набор кода в Bitcoin Core, которые отвергает любой сделки, кто вкладывает меньше денег в сделке (входы), чем получатели получают (выходов), например, тратят больше денег, чем они были добавлены в сделке:

константный CAmount value_out = ТХ.GetValueOut();
если (nValueIn < value_out) {
 возвращение государства.Дос(100, ложь, REJECT_INVALID, "плохо-txns-в-belowout", ложь,
 strprintf("значение в (%с) < значение (%- ы)", FormatMoney(nValueIn), FormatMoney(value_out)));
}

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

Если вы хотите платить кому-то меньше, чем полная стоимость один из ваших выходных, вы добавляете дополнительный выход на вашу компенсацию, которая возвращает остаток в себя. Это как платить за 2 $снэк со счетом 5 $и получать по 3 $вернуться к себе (и это биткоин, мы называем это дополнительный выход платить себе "изменение вывода" по аналогии).

Так в приведенном выше коде, проверяя каждый потратит в системе, чтобы никто receivng больше биткоинов, чем было изначально затрачено (кроме новоявленной биткоины), то предотвратить отрицательное сальдо.

В какой момент в процессе-это баланс мой адрес проверил, чтобы убедиться, что у меня есть биткоины, которые я хочу потратить ?

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


Несколько связанных, вы также можете не платить кому-то отрицательный выход:

 если (txout.nValue < 0)
 возвращение государства.Дос(100, ложь, REJECT_INVALID, "плохо-txns-Uвых-отрицательный");
+301
emma villere 7 мая 2016 г., 5:57:29

Блок хэш-кода блока. Блок может содержать несколько операций, так listsinceblock списки всех транзакций в блоки новее, чем данный блок гаш.

Так Ф.е., если у вас есть эта структура блока:

блок 5 хэш: qwertyyuiop
| тх100,tx101,tx102,tx103
в
блок 6 хэш: asdfghjklkl
| tx104,tx105,tx106,tx107,tx108
в
блок 7 хэш: zxcvbnmnbvc
tx109,tx110,tx111

Когда вы могли бы сделать listsinceblock qwertyyuiop, вы получите все транзакции в блоки старше, чем блок 5, так tx104 вплоть до tx111.

+282
Beijixing 27 мая 2018 г., 19:18:55

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

Я намерен добавить своего рода "режим восстановления" в 0.7.0 для таких ситуаций.

+225
IrishGringo 20 мая 2016 г., 17:00:05

1) место биткоин ядра в папке приложения 2) запустить терминал 3) вставить

/Программы/Биткоин На Qt.приложение/содержание/Макосе/биткоин-Qт --resetguisettings

4) Нажмите Enter

+165
Nick Huston 9 янв. 2016 г., 5:54:17

Короткий ответ: да, это будет анонимно

Длинный ответ:

Следующее относится ко всем монетам на основе Cryptonote, если не указано иное:

На блокчейн, Все адреса адреса один раз. В Bitcoin, вы призывали не использовать адреса, но Монер применяет это. Каждая новая транзакция вызывает новый адрес времени, который будет сгенерирован, таким образом, что получатель может получить приватные ключи на новый адрес времени (и, соответственно, потратить эти средства).

Кроме того, Монер использует кольцо подписи в непонятных выходы которого расходуются. Эти кольца подписи сделаны с 1 закрытого ключа (тот, который вы тратите) и произвольное открытых ключей, тех мероприятий, которые невозможно провести. Сделки вы посылаете появится, провести одно из этого набора. Хитрость заключается в том, что вы можете генерировать подписи такие, что наблюдатель (т. е., кого-то найти TX на блокчейн) можете быть уверены, что один из выходов в том, что Техас был потрачен с помощью соответствующего закрытого ключа, но не могу сказать, какой именно. На blockchain, они видят только публичные ключи ваших провел выходной, и Н других общественных ключи вы выбрали из блокчейна.

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

Так вот, дьявол в деталях. Есть и другие способы умозаключения могут быть сделаны, такие как конкретные суммы, которые тратятся (т. е. если вы отправили очень определенное количество пыли, это единственный выход, что определенную сумму на Blockchain). Протокол Cryptonote разбивает суммы по номиналам (т. е., отправив 153 Монер будет создать три outouts, 100 Монер, Монер 50, и 3 Монер, так это намного проще, чтобы скрыть). Монер в настоящее время работает над адаптацией gmaxwell по конфиденциальным операциям (https://lab.getmonero.org/pubs/MRL-0005.pdf), который может быть использован с Кольцо подписей, так что этот проспект будет полностью перекрыт (это Монер только, другие Cryptonote монеты не имеют).

Так что да, если вы используете Монер, ваши сделки будут частными. Cryptonote является состояние искусства в блокчейн конфиденциальности, хотя Zerocash может пополнить его, когда он будет выпущен, хотя Zerocash также имеет проблемы, так что это будет интересное зрелище.

Кстати, все документы по https://lab.getmonero.org/ стоит читать, если вы хотите знать больше о деталях.

+99
Catherine15 1 июн. 2016 г., 7:31:16

От страта,я знаю, что последние состоят из "Coinb1 +Extranonce1 + Extranonce2 + Coinb2".

Как Extranonce2_size изменить ?

Изменится ли Extranonce2_size, когда я подключиться к пулу?

+37
Joan Frances 17 апр. 2013 г., 12:18:28

Мне кажется, что поле time_lock_delta в ЛНД соответствует тому, что Болт#7 ссылается как cltv_expiry_delta. Что спецификация объясняет, как "количество блоков, он будет вычесть из входящего HTLC по cltv_expiry".

Таким образом, подразделение будет количество блоков.

+27
lucifer 8 сент. 2019 г., 19:36:10

Если вы сейчас переедете в биткоины, Биткоин наличные будут оставаться там, где он находится. Сейчас существуют две отдельные цепи, один за биткоин и один за биткоин деньги. Нет никаких причин переходить на биткоины. Вам нужно переместить биткоин деньги.

Для этого вам нужны две вещи:

1) Какой-то инструмент, который может подготовить и представить биткоин кассовых операций.

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

+13
apathos 19 апр. 2017 г., 21:25:50

Показать вопросы с тегом