Export embedded ASMap RPC #33920

pull fjahr wants to merge 12 commits into bitcoin:master from fjahr:2025-11-asmap-export changing 32 files +585 −224
  1. fjahr commented at 11:53 pm on November 20, 2025: contributor

    This depends on the embedded data PR itself (#28792), until merge this will remain in draft status. All commit but the last one are from there.

    There has been interest in exporting the embedded data back into a file. This is implemented here with a simple exportasmap RPC which provides this functionality. The exported file can be used to verify the data integrity or statistical analysis using e.g. contrib/asmap-tool.py.

  2. refactor: Operate on bytes instead of bits in Asmap code d4527658fd
  3. refactor: Unify asmap version calculation and naming
    Calculate the asmap version only in one place: A dedicated function in util/asmap.
    
    The version was also referred to as asmap checksum in several places. To avoid confusion call it asmap version everywhere.
    118c5089ee
  4. refactor: Use span instead of vector for data in util/asmap
    This prevents holding the asmap data in memory twice.
    
    The version hash changes due to spans being serialized without their size-prefix (unlike vectors).
    a344accf00
  5. doc: Add more extensive docs to asmap implementation
    Also makes minor improvement on the python implementation documentation.
    d22f0d4e4c
  6. asmap: Unify asmap casing in SanityCheckAsmap function name 578d1ae6f8
  7. build: Add embedded asmap data
    The data embedded is from the latest ASMap file from the asmap-data
    repository: https://github.com/asmap/asmap-data/blob/main/1755187200_asmap.dat
    8102128cbc
  8. build: Generate ip_asn.dat.h during build process
    This can be disabled with -DWITH_EMBEDDED_ASMAP=OFF.
    d267ea54c7
  9. init, net: Implement usage of binary-embedded asmap data 09c6356344
  10. doc: Expand documentation on asmap feature and tooling 6f2d30f362
  11. ci: Use without embedded asmap build option in one ci job 941fba786e
  12. doc: Add initial asmap data documentation 1dcd2e8a98
  13. DrahtBot commented at 11:53 pm on November 20, 2025: contributor

    The following sections might be updated with supplementary metadata relevant to reviewers and maintainers.

    Code Coverage & Benchmarks

    For details see: https://corecheck.dev/bitcoin/bitcoin/pulls/33920.

    Reviews

    See the guideline for information on the review process. A summary of reviews will appear here.

    Conflicts

    Reviewers, this pull request conflicts with the following ones:

    • #33878 (refactor, docs: Embedded ASMap [2/3]: Refactor asmap internals and add documentation by fjahr)
    • #33770 (init: Require explicit -asmap filename by ryanofsky)
    • #33631 (init: Split file path handling out of -asmap option by fjahr)
    • #31260 (scripted-diff: Type-safe settings retrieval by ryanofsky)
    • #17783 (common: Disallow calling IsArgSet() on ALLOW_LIST options by ryanofsky)
    • #17581 (refactor: Remove settings merge reverse precedence code by ryanofsky)
    • #17580 (refactor: Add ALLOW_LIST flags and enforce usage in CheckArgFlags by ryanofsky)
    • #17493 (util: Forbid ambiguous multiple assignments in config file by ryanofsky)

    If you consider this pull request important, please also help to review the conflicting pull requests. Ideally, start with the one that should be merged first.

  14. fjahr force-pushed on Nov 20, 2025
  15. DrahtBot added the label CI failed on Nov 20, 2025
  16. fjahr force-pushed on Nov 21, 2025
  17. fjahr force-pushed on Nov 21, 2025
  18. rpc: Add exportasmap RPC 3f3d978ca8
  19. fjahr force-pushed on Nov 21, 2025
  20. DrahtBot removed the label CI failed on Nov 21, 2025
  21. DrahtBot added the label Needs rebase on Nov 22, 2025
  22. DrahtBot commented at 1:36 am on November 22, 2025: contributor
    🐙 This pull request conflicts with the target branch and needs rebase.

github-metadata-mirror

This is a metadata mirror of the GitHub repository bitcoin/bitcoin. This site is not affiliated with GitHub. Content is generated from a GitHub metadata backup.
generated: 2025-12-01 21:13 UTC

This site is hosted by @0xB10C
More mirrored repositories can be found on mirror.b10c.me