You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This document is currently optimized for MacOS. If you would like to help
me add Linux equivalent commands, please let me know.
Debugging Bitcoin Core
This guide is designed to give beginners of C++ development and/or people new
to the bitcoin core code base an overview of the tools available for debugging
issues as well as giving hints where issues may trip you up.
Bitcoin needs to be installed. Make sure dependencies, xcode etc.
are installed: https://gist.github.com/luke-jr/7539234 (if you built
Bitcoin on the same machine you should be fine).
IF2: if(m_blockman.LookupBlockIndex(blockhash) == nullptr) => use snapshot
This means we use the snapshot chainstate if we have not seen this block’s header yet, implied from it not being in m_block_index
IF3: if (!m_snapshot_chainstate->m_chain.Contains(pblock))) => use snapshot
This means we use the snapshot chainstate if the block header is not part of the current best chain (included in m_chain) which can mean we have not validated the full block yet or the block is not part of the best chain after validation
To get a general overview/refresher of the ASMap project please (re)read the post from Gleb on the Bitmex blog [1]. What is described there is still the status of ASMap file data sources to my knowledge.
Some further questions of mine about the process were discussed in November 2021 in an IRC meeting [2]. It was discussed that fresh ASMap files will be generated for and shipped with every release. The historic files that are part of the releases should be available in a separate repository under the bitcoin core GitHub organization. It was also discussed where the tools used during the release process should be maintained.
Since then, my focus has been on what would be the best possible data sources and quality assurance process for the input data of the ASMap file, i.e., a prefix to AS mapping that most accurately reflect the reality of the internet and that stays up to date for as long as possible.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
I have picked up Pieter Wuille's proposal
from 2017 to use a rolling hash for the UTXO set hash. It deals with the problem of
a long computation time of the UTXO set hash which results in a slow RPC call
gettxoutsetinfo (can take several minutes depending on hardware). I investigated
three hash functions: MuHash, ECMH and LtHash and started implementing them
in Bitcoin Core for comparison. However only MuHash has a rolling hash implementation