Tapscripts
No description available
Install / Use
/learn @arkade-os/TapscriptsREADME
Ark Taproot Scripts
Script tree
Ark virtual transaction outputs (VTXO) are created by a shared output. This output is enforcing the value to be splitted into a binary tree of other taproot scripts.
graph TD
A[Shared Out ROOT]
A --> B[Shared out 1]
A --> C[Shared out 2]
B --> D[Shared out 3]
B --> E[Shared out 4]
C --> F[Shared out 5]
C --> G[Shared out 6]
D --> H((VTXO 1))
E --> I((VTXO 2))
F --> J((VTXO 3))
G --> K((VTXO 4))
Each node of the diagram is a taproot script.
Shared output script
A shared output is a bitcoin transaction output locked by a taproot script with 2 tapscript closures:
- Unroll and Boarding scripts use Elements introspections opcodes to force the spending transaction format. The tx creates the next level of the script tree on-chain. Splitting the value into 2 outputs with the children taproot scripts.
- Sweep lets the Ark Service Provider to spend the whole shared output after a timeout (CSV).
VTXO script
A VTXO taproot script is the last level of the script tree. It should appear on-chain only if the VTXO owner decided to unilaterally exit the Ark. It has 2 tapscript closures:
- Redeem lets to spend the VTXO onchain after a CSV delay. the delay prevents the ASP to lost a VTXO spent off-chain.
- Forfeit expects both parties (owner and ASP) to sign the spending transaction. It is used to spend the VTXO off-chain.
Miniscript
The scripts are written using miniscript syntax. You can analyse them using the Elements Miniscript compiler.
install the miniscript-compiler:
cargo install miniscript-compiler
Compile miniscript examples:
make unroll
make onboarding
make vtxo
Related Skills
node-connect
346.8kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
107.6kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
346.8kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
qqbot-media
346.8kQQBot 富媒体收发能力。使用 <qqmedia> 标签,系统根据文件扩展名自动识别类型(图片/语音/视频/文件)。
