Retour aux mises à jour
New releaseAug 1, 2026

boha v0.19.0

Bibliothèque de données de primes, énigmes et défis crypto

Partager

@agntn/puzzles

npm version npm downloads license Ask DeepWiki

Des puzzles crypto et primes publics, sous forme d'enregistrements typés. Vous demandez un puzzle, vous obtenez son adresse, son matériel de clé et ce qui s'est passé on chain.

Pourquoi ?

Chaque fil de puzzle contient les mêmes trois choses : les adresses, les prix et qui a résolu quoi. Chaque scanner et chaque tracker les retape à partir du fil, un peu différemment à chaque fois. Alors ils vivent ici une fois, sous forme de code. Un puzzle est un enregistrement TypeScript. Le vérificateur de types le lit avant qu'un test ne le fasse. La CLI, le serveur MCP et les extensions Pi et OMP lisent un seul registre.

Docs, une page par puzzle et un playground en direct : puzzles.agntn.dev.

[!WARNING] Pré-1.0. L'API, les flags de la CLI et le modèle de données peuvent encore évoluer. Épinglez une version exacte si vous construisez dessus.

✨ Fonctionnalités

  • 🧾 La donnée comme code. Un littéral PuzzleSpec par puzzle, construit par une seule factory puzzle() pour chaque chaîne. Pas de JSON, pas d'étape de build.
  • 🕳️ Absent signifie absent. Un puzzle sans solveur ou sans prix n'a pas cette clé. Rien ne se sérialise en null.
  • 🔑 Le matériel de clé sous toutes ses formes. Hex, WIF, une charge utile BIP38, une phrase de récupération, des partages secrets, un keyfile Arweave scellé, ou simplement une largeur de bits. Chaque clé d'un multisig aussi. Un seul builder.
  • 💤 Registre paresseux. Importer le paquet ne charge aucun enregistrement. get("bits/71") importe un module de collection.
  • ✅ La vérification est une valeur. Une clé publiée dérive l'adresse ou ne la dérive pas. Rien ne lève d'exception pour un enregistrement invalide.
  • 💰 Soldes en direct. puzzle.balance() via @agntn/explorers. Unités de base en bigint, clés d'API masquées dans les erreurs.
  • 👀 Une surveillance sur l'enregistrement. puzzles watch liste les dépôts et les dépenses qu'un enregistrement manque, un prix qui a bougé, une clé publique qu'une dépense a révélée, une page source qui a changé. Il ne modifie jamais un enregistrement. C'est vous qui le faites.
  • 📋 Une checklist avant le week-end. puzzles eligibility rassemble la source, l'adresse, les totaux cumulés depuis l'explorateur, le statut avec ses preuves et ce qui compte comme solution. Tout ce que personne ne peut remplir revient sous forme de ligne missing, jamais une supposition.
  • 🖼️ Le puzzle lui-même, pas un lien vers lui. puzzles_assets fournit à un modèle l'image, les fichiers d'étapes et les posts archivés derrière les indices, vérifiés par rapport au SHA-256 épinglé dans l'enregistrement. Les liens pourrissent. Ceux-ci non.
  • 🤖 Quinze outils d'agent. Un seul exécuteur derrière MCP, Pi et OMP. La même réponse partout.
  • 🌐 Fonctionne partout. ESM neutre sur l'API Fetch. Node, navigateurs, edge workers.

📦 Installation

pnpm add @agntn/puzzles

Node.js 26 ou plus récent pour la CLI.

🚀 Premier appel

npx @agntn/puzzles stats

Cela affiche le total, un décompte par statut et le nombre d'énigmes dont la clé publique est connue. Aucune clé, aucune configuration, aucun réseau. Les enregistrements sont livrés dans le paquet. Le puzzles seul ci-dessous correspond à pnpm exec puzzles après un pnpm add local, ou simplement puzzles après 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

Commandes

Catégories