rue-chialisp
Create Chia blockchain puzzles using Rue, a type-safe language that compiles to CLVM. Use for smart contract development, custom puzzle creation, or when user says "create a coin that...", "build a puzzle", "chialisp", "rue", "timelock", "multisig", "escrow", "atomic swap", or describes coin spending conditions.
- License 许可
- MIT
- 最近更新
- 2026-08-23
- Stars
- ★ 1
- Forks
- 0
01 前言 Front Matter
- name
- rue-chialisp
- version
- 1.0.0
- description
- Create Chia blockchain puzzles using Rue, a type-safe language that compiles to CLVM. Use for smart contract development, custom puzzle creation, or when user says "create a coin that...", "build a puzzle", "chialisp", "rue", "timelock", "multisig", "escrow", "atomic swap", or describes coin spending conditions.
02 资源文件 25
- 参考文档_meta.json280 B
- 参考文档examples_txt/atomic_swap.rue.txt1.2 KB
- 参考文档examples_txt/block_locked.rue.txt488 B
- 参考文档examples_txt/burn_10_percent.rue.txt689 B
- 参考文档examples_txt/burn.rue.txt467 B
- 参考文档examples_txt/clawback.rue.txt1.2 KB
- 参考文档examples_txt/escrow.rue.txt1.1 KB
- 参考文档examples_txt/main.rue.txt44 B
- 参考文档examples_txt/multisig.rue.txt354 B
- 参考文档examples_txt/password_puzzle.rue.txt505 B
- 参考文档examples_txt/rate_limited.rue.txt1.2 KB
- 参考文档examples_txt/royalty.rue.txt1022 B
- 参考文档examples_txt/sig_puzzle.rue.txt460 B
- 参考文档examples_txt/sim_escrow.rue.txt570 B
- 参考文档examples_txt/sim_timelock.rue.txt458 B
- 参考文档examples_txt/singleton.rue.txt871 B
- 参考文档examples_txt/subscription.rue.txt1.8 KB
- 参考文档examples_txt/timelock.rue.txt519 B
- 参考文档references/conditions.md4.5 KB
- 脚本scripts/compile_puzzle.sh243 B
- 脚本scripts/create_puzzle.sh374 B
- 脚本scripts/rue-check.sh2.1 KB
- 脚本scripts/rue-init.sh1.9 KB
- 脚本scripts/rue-new.sh2.7 KB
- 脚本scripts/test_puzzle.sh344 B
03 SKILL.md 正文
Rue Chialisp Skill
Build type-safe Chia puzzles using Rue. Compile to CLVM bytecode for on-chain deployment.
Setup
# Check dependencies
scripts/rue-check.sh
# Initialize project
scripts/rue-init.sh my-project
Quick Build
cd my-project
rue build # Compile all puzzles
rue build puzzles/x.rue # Compile one
brun "$CLVM" "(args)" # Simulate execution
Natural Language → Puzzle
When user describes a puzzle in plain language, map to these patterns:
| User Says | Pattern | Example File |
|---|---|---|
| "only spend after block X" | Timelock | examples/timelock.rue |
| "requires N signatures" | Multisig | examples/multisig.rue |
| "burn X%" | Partial Burn | examples/burn_10_percent.rue |
| "split payment" | Royalty | examples/royalty.rue |
| "escrow with arbiter" | Escrow | examples/escrow.rue |
| "atomic swap / HTLC" | Atomic Swap | examples/atomic_swap.rue |
| "reversible / clawback" | Clawback | examples/clawback.rue |
| "spending limit" | Rate Limited | examples/rate_limited.rue |
| "recurring payment" | Subscription | examples/subscription.rue |
| "password protected" | Password | examples/password_puzzle.rue |
| "signature required" | Signature | examples/sig_puzzle.rue |
Core Syntax
fn main(curried_arg: Type, solution_arg: Type) -> List<Condition> {
assert condition;
let x = expression;
if cond { a } else { b }
[item1, item2, ...rest]
}
Types
| Type | Description |
|---|---|
Int |
Signed integer |
Bool |
true/false |
Bytes32 |
32-byte hash |
PublicKey |
BLS G1 (48 bytes) |
List<T> |
Nil-terminated list |
Condition |
CLVM condition |
Key Conditions
| Condition | Opcode | Purpose |
|---|---|---|
CreateCoin { puzzle_hash, amount, memos } |
51 | Create output |
AggSigMe { public_key, message } |
50 | Require signature |
AssertHeightAbsolute { height } |
83 | Min block height |
AssertBeforeHeightAbsolute { height } |
87 | Max block height |
AssertMyAmount { amount } |
73 | Verify coin value |
ReserveFee { amount } |
52 | Transaction fee |
See references/conditions.md for full list (30+ conditions).
Built-in Functions
| Function | Use |
|---|---|
sha256(data) |
Hash data |
tree_hash(value) |
CLVM tree hash |
coinid(parent, puzzle_hash, amount) |
Compute coin ID |
Example: Timelock
fn main(unlock_height: Int, dest: Bytes32, amount: Int) -> List<Condition> {
let wait = AssertHeightAbsolute { height: unlock_height };
let output = CreateCoin { puzzle_hash: dest, amount, memos: nil };
[wait, output]
}
Example: 2-of-2 Multisig
fn main(pk1: PublicKey, pk2: PublicKey, conditions: List<Condition>) -> List<Condition> {
let msg = tree_hash(conditions);
let sig1 = AggSigMe { public_key: pk1, message: msg };
let sig2 = AggSigMe { public_key: pk2, message: msg };
[sig1, sig2, ...conditions]
}
Simulation
# Compile
CLVM=$(rue build puzzles/my_puzzle.rue 2>&1 | grep -v Warning | head -1)
# Execute with test inputs
brun "$CLVM" "(arg1 arg2 arg3)"
# Output is list of conditions: ((51 <hash> <amount>) (83 <height>) ...)
Security Notes
- Password puzzles are educational only — use signatures for real value
- Always validate input types with
assert value is Type - Use
tree_hash(conditions)as signature message to bind signatures to outputs
04 同仓库更多 Skills
crowd-prompting
A marketplace where AI agents improve prompts, system instructions, tool descriptions, and other text-based content with domain expertise from real-world operations — and earn tokens for valuable contributions.
dilemm-ai
Compete in DilemmAI, the prisoner's dilemma AI arena at dilemm.ai. Use when an OpenClaw agent wants to create an account, design and submit strategy prompts for their bot, enter matchmaking, analyze historical matches and leaderboards, and iterate on bot strategy. Requires headless browser automation (no API available yet).
arxiv-paper-reviews
Interact with arXiv Crawler API to fetch papers, read reviews, and submit comments. Use when working with arXiv papers, fetching paper lists by date/category/interest, viewing paper details with comments, or submitting paper reviews via API at http://150.158.152.82:8000.
arxiv-paper-reviews
Interact with arXiv Crawler API to fetch papers, read reviews, and submit comments. Use when working with arXiv papers, fetching paper lists by date/category/interest, viewing paper details with comments, or submitting paper reviews via API at http://150.158.152.82:8000.
git-summary
Get a quick summary of the current Git repository including status, recent commits, branches, and contributors.
agent-constitution
Interact with AgentConstitution governance contracts on Base Sepolia. Check compliance, read rules, log actions, query governance state.