#puzzle #hash #wallet #chik #chiklisp

chik-puzzles

Chik primitives needed for building wallets

8 breaking releases

0.20.2 Aug 5, 2025
0.20.1 Feb 6, 2025
0.18.0 Feb 6, 2025
0.10.0 Jul 11, 2024

#14 in #chik

Download history 19/week @ 2025-06-23 16/week @ 2025-06-30 25/week @ 2025-07-07 9/week @ 2025-07-14 6/week @ 2025-07-21 10/week @ 2025-07-28 233/week @ 2025-08-04 11/week @ 2025-08-11 18/week @ 2025-08-18 53/week @ 2025-08-25 55/week @ 2025-09-01 31/week @ 2025-09-08 37/week @ 2025-09-15 118/week @ 2025-09-22 105/week @ 2025-09-29 19/week @ 2025-10-06

279 downloads per month
Used in 13 crates (6 directly)

Apache-2.0

440KB
1.5K SLoC

Python 1K SLoC // 0.0% comments Rust 197 SLoC // 0.0% comments

Chik Puzzles

This is a collection of the standard Chik puzzles. These are the puzzles which are deployed on chain and therefore cannot change.

This repository tracks the source code, the compiled hex, and a hash of the compiled hex to ensure continuity.

All puzzles are kept in the puzzles folder as both a .clsp and .clsp.hex file.

The Python and Rust bindings are created by running generate_chiklisp_constants.py

Adding Bindings for a New Puzzle

  1. Add the .clsp and .clsp.hex files into the programs folder.
  2. Add the puzzle name, path, and shatree hash into the list in generate_chiklisp_constants.py.
  3. Run generate_chiklisp_constants.py.
  4. Commit your changes, including to the outputted programs.py and programs.rs.

Testing

This project is managed with poetry for Python and cargo for Rust.

To run the Python tests:

python -m venv venv

pip install poetry
. ./venv/bin/activate
poetry install
pytest chik_puzzles_py/tests

If you're on Windows activate the venv with . venv\Scripts\activate instead

To run the Rust tests:

cargo test --all

Dependencies