Skip to content

Add sigs data and scripts from asmap/asmap.sigs repo#50

Open
jurraca wants to merge 6 commits into
bitcoin-core:mainfrom
jurraca:add-sigs-data
Open

Add sigs data and scripts from asmap/asmap.sigs repo#50
jurraca wants to merge 6 commits into
bitcoin-core:mainfrom
jurraca:add-sigs-data

Conversation

@jurraca
Copy link
Copy Markdown
Collaborator

@jurraca jurraca commented May 19, 2026

After consideration, we decided to move all attestation data close to the data itself, in this repository. This moves all attestations scripts and data (from run 1772726400) from https://github.com/asmap/asmap.sigs.

First 3 commits are direct copying of data. The last one f30ef69 adapts the asmap-attest and asmap-verify to the repo's structure, i.e. finding paths to write when attesting, and finding the right epochs and signature data when verifying attestations.

An existing year folder for asmap data now gets an attestations folder containing folders indexed by run timestamp e.g.:

2026
├── 1767888000_asmap.dat
├── 1767888000_asmap_unfilled.dat
├── 1772726400_asmap.dat
├── 1772726400_asmap_unfilled.dat
└── attestations
    └── 1772726400
        ├── fjahr
        │   ├── SHA256SUMS
        │   └── SHA256SUMS.asc
        ├── jurraca
        │   ├── SHA256SUMS
        │   └── SHA256SUMS.asc

While I considered changing the repo's structure to have {year}/{timestamp}/attestations and {year}/{timestamp}/data and think it would be cleaner, it would break the existing repo structure. i.e.:

2026
└── 1772726400
   └── data
      └── ...  
   └── attestations
      └── ...

If a user wanted to get a file and its attestations in one go, they could fetch the timestamp from the file name and find the attestation folder under attestations/{timestamp} which doesn't seem to burdensome.

This adds a year_from_epoch helper, which requires adding the date tool to required tools, and handle it differently for GNU vs BSD/Mac (though this was an LLM-provided suggestion, and I haven't tested on Mac). Otherwise scripts functionality is unchanged.

@fanquake
Copy link
Copy Markdown
Member

Concept ACK

@fjahr
Copy link
Copy Markdown
Collaborator

fjahr commented May 26, 2026

Concept ACK

I have just tested the verify script and it worked for me without issue.

I think I would have chosen a different folder structure. I would have done from top-level: attestations/year/timestamp/, so that the attestations are in the same repo but not right next to the maps. I prefer that because people looking to download maps casually may be confused by the attestations and the attestations are mostly interacted with through the script. But others may see it differently, just a nit to consider.

What is still missing is moving the documentation for the sigs stuff here. That may be in the readme or in a separate attestations doc. I don't have a preference for this.

@fjahr fjahr mentioned this pull request May 26, 2026
jurraca added 4 commits May 27, 2026 15:36
the attestations folder is nested under each year, so we update the
script paths to handle that.
add a helper function to identify the year from the unix epoch.
rename env vars to not mention old repo
@jurraca
Copy link
Copy Markdown
Collaborator Author

jurraca commented May 27, 2026

I would have done from top-level:

yea, that's cleaner, done. 799175f

moving the documentation for the sigs stuff here

done in d7a7e08

I also removed the part of the CLI help text that showed an example with NO_SIGN, which made the help text larger than a single terminal view, and imo is kind of unnecessary. The option is still indicated in the help text. 5a80d79

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants