
Datenbibliothek für Crypto-Bounties, Rätsel und Herausforderungen
Öffentliche Krypto-Puzzles und Bounties als typisierte Datensätze. Du fragst nach einem Puzzle, du bekommst seine Adresse, sein Schlüsselmaterial und was on chain passiert ist.
Jeder Puzzle-Thread hat dieselben drei Dinge: die Adressen, die Preise und wer was gelöst hat. Jeder Scanner und Tracker tippt sie aus dem Thread neu ab, jedes Mal etwas anders. Also stehen sie hier einmal, als Code. Ein Puzzle ist ein TypeScript-Datensatz. Der Type Checker liest ihn, bevor ein Test es tut. Die CLI, der MCP-Server und die Pi- und OMP-Erweiterungen lesen eine Registry.
Doku, eine Seite pro Puzzle und ein Live-Playground: puzzles.agntn.dev.
[!WARNING] Pre-1.0. Die API, die CLI-Flags und das Datenmodell können sich noch ändern. Pinne eine exakte Version, wenn du darauf aufbaust.
PuzzleSpec-Literal pro Puzzle, erzeugt von einer puzzle()-Factory für jede Chain. Kein JSON, kein Build-Schritt.get("bits/71") importiert ein Collection-Modul.puzzle.balance() über @agntn/explorers. Basiseinheiten als bigint, API-Keys aus Fehlern redigiert.puzzles watch listet die Einzahlungen und Ausgaben auf, die einem Datensatz fehlen, einen Preis, der sich bewegt hat, einen öffentlichen Schlüssel, den eine Ausgabe preisgegeben hat, eine Quellseite, die sich geändert hat. Es bearbeitet nie einen Datensatz. Das tust du.puzzles eligibility sammelt die Quelle, die Adresse, Lifetime-Summen vom Explorer, den Status mit seinen Belegen und was als Lösung zählt. Was niemand ausfüllen kann, kommt als missing-Zeile zurück, nie als Vermutung.puzzles_assets übergibt einem Modell das Bild, die Stage-Dateien und die archivierten Posts hinter den Hinweisen, geprüft gegen den SHA-256, den der Datensatz pinnt. Links verrotten. Diese nicht.pnpm add @agntn/puzzles
Node.js 26 oder neuer für die CLI.
npx @agntn/puzzles stats
Das gibt die Gesamtzahl aus, eine Anzahl pro Status und wie viele Puzzles einen bekannten öffentlichen Schlüssel haben. Kein Schlüssel, keine Konfiguration, kein Netzwerk. Die Datensätze werden im Paket mitgeliefert. Das bloße puzzles unten ist pnpm exec puzzles nach einem lokalen pnpm add oder einfach puzzles nach pnpm add -g @agntn/puzzles.
puzzles show hash-collision/sha256
hash-collision/sha256 unsolved 0.27734251 BTC 35Snmmy3uhaer2gTboc81ayCip4m9DT4ko
chain: bitcoin address kind: p2sh
hash160: 292fb39df7cd619a396069383928e6bfb74ebec5
redeem script: 6e879169a87ca887 (hash 292fb39df7cd619a396069383928e6bfb74ebec5)
public key: unknown
private key: unknown
started: 2013-09-13 05:59:09
transactions: 1
funding 2013-09-13 05:59:09 0.1 BTC 397f12ee15f8a3d2ab25c0f6bb7d3c64d2038ca056af10dd8251b98ae0f076b0
explorer: https://blockstream.info/address/35Snmmy3uhaer2gTboc81ayCip4m9DT4ko
source: https://bitcointalk.org/index.php?topic=293382.0
| Befehl | Was er ausgibt |
|---|---|
puzzles stats | Summen, Statuszahlen, Preissummen und die Datenversion |
puzzles collections | Eine Zeile pro Sammlung: Schlüssel, Zahlen, Autor |
puzzles authors [key] | Eine Zeile pro Autor oder der Datensatz eines Autors mit seinen belegten Fakten |
puzzles author <key> | Der Datensatz eines Autors, direkt aus dem Tool puzzles_author |
puzzles solvers [key] | Eine Zeile pro benanntem Solver oder der Datensatz eines Solvers: jeder Solve, Profile und belegte Fakten |
puzzles solver <key> | Der Datensatz eines Solvers, direkt aus dem Tool puzzles_solver |
puzzles show <id> | Der Datensatz eines Puzzles: Schlüsselmaterial, Transaktionen, Hinweise und Links. --json für die Daten |
puzzles hints <id> | Die Hinweise der Sammlung, die des Puzzles selbst, dann seine Hinweisdateien. --json für beides |
puzzles stages <id> | Die Stages eines mehrstufigen Puzzles mit ihren Seiten, Dateien und veröffentlichten Antworten. --json für die Liste |
puzzles assets <id> | Die Dateien, die ein Puzzle mitliefert, mit SHA-256 und Größe, sowie die archivierten Seiten, die es zitiert. --read <path> schreibt eine, --check/--live verifiziert |
puzzles list [collection] | Ein Puzzle pro Zeile. --address, --chain, --status, --technique und --with-pubkey grenzen es ein, --limit und --offset blättern es durch |
puzzles verify [id] | Ein veröffentlichter Schlüssel und sein Rezept gegen die Adresse. --all oder die list-Filter für eine Menge, Exit 1 bei Abweichung |
puzzles balance [id] | Die Live-Balance. Die list-Filter prüfen eine ganze Menge, eine Zeile pro Eintrag. --api-key oder eine Variable pro Chain |
puzzles watch [id] | Was die Chain weiß und der Datensatz nicht. --since prüft auch die Quellseiten, Exit 1 bei jedem Fund |
puzzles eligibility <query> | Die Checkliste vor der Arbeit an einem Preis, nach id oder Adresse. Exit 1, solange ein Feld fehlt |
puzzles export | Der gesamte Datensatz mit seiner data_version |
puzzles mcp | Der MCP-Server über stdio |