
Biblioteca de datos de recompensas, acertijos y desafíos cripto
Puzzles criptográficos públicos y recompensas, como registros tipados. Pides un puzzle, obtienes su dirección, su material de clave y lo que ocurrió en la cadena.
Cada hilo de puzzles tiene las mismas tres cosas: las direcciones, los premios y quién resolvió qué. Cada escáner y rastreador los vuelve a escribir a partir del hilo, de forma ligeramente distinta cada vez. Así que viven aquí una sola vez, como código. Un puzzle es un registro de TypeScript. El verificador de tipos lo lee antes que un test. La CLI, el servidor MCP y las extensiones de Pi y OMP leen un único registro.
Documentación, una página por puzzle y un playground en vivo: puzzles.agntn.dev.
[!WARNING] Pre-1.0. La API, los flags de la CLI y el modelo de datos aún pueden cambiar. Fija una versión exacta si construyes sobre esto.
PuzzleSpec por puzzle, construido por una única factoría puzzle() para cada cadena. Sin JSON, sin paso de compilación.get("bits/71") importa un módulo de colección.puzzle.balance() a través de @agntn/explorers. Unidades base como bigint, claves de API redactadas de los errores.puzzles watch lista los depósitos y gastos que un registro omite, un premio que se movió, una clave pública que un gasto reveló, una página de origen que cambió. Nunca edita un registro. Lo haces tú.puzzles eligibility reúne la fuente, la dirección, los totales de por vida del explorador, el estado con sus evidencias y qué cuenta como solución. Todo lo que nadie puede rellenar vuelve como una fila missing, nunca como una suposición.puzzles_assets entrega a un modelo la imagen, los archivos de las etapas y las publicaciones archivadas detrás de las pistas, verificados contra el SHA-256 que fija el registro. Los enlaces se pudren. Estos no.pnpm add @agntn/puzzles
Node.js 26 o superior para la CLI.
npx @agntn/puzzles stats
Eso imprime el total, un recuento por estado y cuántos puzzles tienen una clave pública conocida. Sin clave, sin configuración, sin red. Los registros se incluyen dentro del paquete. El puzzles sin más que aparece a continuación es pnpm exec puzzles tras un pnpm add local, o simplemente puzzles tras 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
| Comando | Qué imprime |
|---|---|
puzzles stats | Totales, recuentos por estado, sumas de premios y la versión de los datos |
puzzles collections | Una fila por colección: clave, recuentos, autor |
puzzles authors [key] | Una fila por autor, o el registro de un autor con sus datos de origen |
puzzles author <key> | El registro de un autor, directamente desde la herramienta puzzles_author |
puzzles solvers [key] | Una fila por solucionador con nombre, o el registro de un solucionador: cada resolución, perfiles y datos de origen |
puzzles solver <key> | El registro de un solucionador, directamente desde la herramienta puzzles_solver |
puzzles show <id> | El registro de un puzzle: material de clave, transacciones, pistas y enlaces. --json para los datos |
puzzles hints <id> | Las pistas de la colección, las propias del puzzle y luego sus archivos de pistas. --json para ambos |
puzzles stages <id> | Las etapas de un puzzle multietapa con sus páginas, archivos y respuestas publicadas. --json para la lista |
puzzles assets <id> | Los archivos que incluye un puzzle con SHA-256 y tamaño, y las páginas archivadas que cita. --read <path> escribe uno, --check/--live verifican |
puzzles list [collection] | Un puzzle por línea. --address, --chain, --status, --technique y --with-pubkey lo acotan, --limit y --offset lo paginan |
puzzles verify [id] | Una clave publicada y su receta contra la dirección. --all o los filtros de list para un conjunto, salida 1 si no coinciden |
puzzles balance [id] | El saldo en vivo. Los filtros de list comprueban un conjunto completo, una fila cada uno. --api-key, o una variable por cadena |
puzzles watch [id] | Lo que la cadena sabe y el registro no. --since también comprueba las páginas de origen, salida 1 ante cualquier hallazgo |
puzzles eligibility <query> | La lista de comprobación antes de trabajar en un premio, por id o dirección. Salida 1 mientras falte algún campo |
puzzles export | Todo el conjunto de datos con su data_version |
puzzles mcp | El servidor MCP sobre stdio |