Здравствуй,
Не могли бы вы сказать мне, как это Bitcoin ядро хранит различные ветви для возможного REORG?
Не могли бы вы указать мне код?
Большое спасибо!!!
|
![]() |
# 1 |
Сообщений: 49
цитировать ответ |
![]()
Взлом Биткоин адресов.
500 Биткоинов взломаны в "мозговом кошельке" с паролем "bitcoin is awesome" Адрес кошелька: 14NWDXkQwcGN1Pd9fboL8npVynD5SfyJAE Приватный ключ: 5J64pq77XjeacCezwmAr2V1s7snvvJkuAz8sENxw7xCkikceV6e подробнее... Всем кто хочет заработать Биткоины без вложений - рекомендую сайт http://bitcoin-zarabotat.ru Здравствуй,
Не могли бы вы сказать мне, как это Bitcoin ядро хранит различные ветви для возможного REORG? Не могли бы вы указать мне код? Большое спасибо!!! |
![]() ![]() |
![]() ![]() ![]() |
![]() |
# 2 |
Сообщения: 1988
цитировать ответ |
![]()
Получил 1806 Биткоинов
Реальная история. Навсегда.
Проверьте код, обслуживающую RPC вызов 'getchaintips. |
![]() ![]() |
![]() ![]() ![]() |
![]() |
# 3 |
Сообщения: 2366
цитировать ответ |
![]() Обрезка удаляет их, когда он удаляет другие блоки одного и того же возраста, в противном случае навсегда. нет никакого смысла в том, чтобы переписать данные, чтобы сохранить пару мегабайт здесь и там.
|
![]() ![]() |
![]() ![]() ![]() |
![]() |
# 4 |
Сообщений: 49
цитировать ответ |
![]() Спасибо 2112 и gmaxwell!
Переменная BlockMap mapBlockIndex определяется в validation.cpp Я не мог найти, где она инициализируется. Существует только комментарий: https://github.com/bitcoin/bitcoin/blob/86ea3c2ff247bb2ba0fb50013c8ecdbaf8a9fe8f/src/txdb.cpp Код: // Загрузка mapBlockIndex в то время как (pcursor->Действительно ()) { |
![]() ![]() |
![]() ![]() ![]() |
![]() |
# 5 |
Сообщений: 49
цитировать ответ |
![]() Спасибо 2112 и gmaxwell! Я думаю, что я нашел, что здесь правильно?Переменная BlockMap mapBlockIndex определяется в validation.cpp Я не мог найти, где она инициализируется. Существует только комментарий: https://github.com/bitcoin/bitcoin/blob/86ea3c2ff247bb2ba0fb50013c8ecdbaf8a9fe8f/src/txdb.cpp Код: // Загрузка mapBlockIndex в то время как (pcursor->Действительно ()) { -- txdb.cpp CBlockIndex * pindexNew = insertBlockIndex (diskindex.GetBlockHash ()); -- validation.cpp CBlockIndex * InsertBlockIndex (uint256 хэш) { если (hash.IsNull ()) возвращать NULL; // Возвращаем существующий BlockMap :: итератор мили = mapBlockIndex.find (хэш); если (мили! = mapBlockIndex.end ()) вернуться (* миль) .second; // Создавать новое CBlockIndex * pindexNew = новый CBlockIndex (); если (! pindexNew) бросить зЬй :: runtime_error (Std :: строка (__ func__) + ": Новый CBlockIndex не удалось"); ми = mapBlockIndex.insert (станд :: make_pair (хэш, pindexNew)).первый; pindexNew->phashBlock = &((* Мили) .first); вернуться pindexNew; } |
![]() ![]() |
![]() ![]() ![]() |