souldinals
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChineseSouldinals Skill
Souldinals 工具
Manages Souldinals — soul.md files inscribed as child ordinals under a genesis parent inscription. A soul inscription records an agent's identity, values, and traits as Markdown on Bitcoin L1.
All write operations (, ) require an unlocked wallet with BTC balance on the SegWit address.
inscribe-soulreveal-soul管理Souldinals——即作为创世父铭文下的子Ordinals铭刻的soul.md文件。灵魂铭文以Markdown格式在Bitcoin L1上记录Agent的身份、价值观和特征。
所有写入操作(、)需要一个解锁的钱包,且SegWit地址上有BTC余额。
inscribe-soulreveal-soulUsage
使用方法
bun run souldinals/souldinals.ts <subcommand> [options]bun run souldinals/souldinals.ts <子命令> [选项]Subcommands
子命令
inscribe-soul
inscribe-soul
Inscribe a soul.md file as a child inscription under a parent inscription — STEP 1: Broadcast commit transaction.
Reads the soul.md file, base64-encodes it, and broadcasts the commit transaction. After the commit confirms, call with the saved parameters to finalize the inscription.
reveal-soulbun run souldinals/souldinals.ts inscribe-soul \
--parent-inscription-id <id> \
[--soul-file ./SOUL.md] \
[--fee-rate fast|medium|slow|<number>]Options:
- (required) — The genesis parent inscription ID (format:
--parent-inscription-id){txid}i{index} - (optional) — Path to the soul.md file (default:
--soul-file)./SOUL.md - (optional) —
--fee-rate,fast,medium, or number in sat/vB (default:slow)medium
Requires: unlocked wallet with BTC balance.
Output:
json
{
"status": "commit_broadcast",
"message": "Soul commit transaction broadcast. Wait for confirmation, then call reveal-soul.",
"commitTxid": "abc123...",
"commitExplorerUrl": "https://mempool.space/tx/abc123...",
"revealAddress": "bc1p...",
"revealAmount": 3200,
"commitFee": 1640,
"feeRate": 8,
"parentInscriptionId": "def456...i0",
"soulFile": "./SOUL.md",
"contentType": "text/markdown",
"contentSize": 1024,
"contentBase64": "...",
"nextStep": "After commit confirms, call: bun run souldinals/souldinals.ts reveal-soul ..."
}将soul.md文件作为父铭文下的子铭文铭刻——步骤1:广播提交交易。
读取soul.md文件,进行base64编码,然后广播提交交易。提交交易确认后,使用保存的参数调用以完成铭刻。
reveal-soulbun run souldinals/souldinals.ts inscribe-soul \
--parent-inscription-id <id> \
[--soul-file ./SOUL.md] \
[--fee-rate fast|medium|slow|<数字>]选项:
- (必填)——创世父铭文ID(格式:
--parent-inscription-id){txid}i{index} - (可选)——soul.md文件路径(默认:
--soul-file)./SOUL.md - (可选)——
--fee-rate、fast、medium,或以sat/vB为单位的数字(默认:slow)medium
要求:解锁且有BTC余额的钱包。
输出:
json
{
"status": "commit_broadcast",
"message": "Soul提交交易已广播。等待确认后,调用reveal-soul。",
"commitTxid": "abc123...",
"commitExplorerUrl": "https://mempool.space/tx/abc123...",
"revealAddress": "bc1p...",
"revealAmount": 3200,
"commitFee": 1640,
"feeRate": 8,
"parentInscriptionId": "def456...i0",
"soulFile": "./SOUL.md",
"contentType": "text/markdown",
"contentSize": 1024,
"contentBase64": "...",
"nextStep": "提交确认后,调用:bun run souldinals/souldinals.ts reveal-soul ..."
}reveal-soul
reveal-soul
Complete a soul inscription — STEP 2: Broadcast reveal transaction.
Call this AFTER the commit transaction from has confirmed.
inscribe-soulbun run souldinals/souldinals.ts reveal-soul \
--commit-txid <txid> \
--reveal-amount <satoshis> \
--content-base64 <base64> \
[--fee-rate fast|medium|slow|<number>]Options:
- (required) — Transaction ID of the confirmed commit (64 hex chars)
--commit-txid - (required) — Amount in the commit output in satoshis (from
--reveal-amountresponse)inscribe-soul - (required) — Base64-encoded soul.md content (from
--content-base64response)inscribe-soul - (optional) — Fee rate for reveal tx (default:
--fee-rate)medium
Requires: unlocked wallet.
Output:
json
{
"status": "success",
"message": "Soul inscription created successfully!",
"inscriptionId": "def456...i0",
"contentType": "text/markdown",
"contentSize": 1024,
"commit": {
"txid": "abc123...",
"explorerUrl": "https://mempool.space/tx/abc123..."
},
"reveal": {
"txid": "def456...",
"fee": 960,
"explorerUrl": "https://mempool.space/tx/def456..."
},
"recipientAddress": "bc1p...",
"note": "Soul inscription will appear at the recipient address once the reveal transaction confirms."
}完成灵魂铭刻——步骤2:广播揭示交易。
需在的提交交易确认后调用此命令。
inscribe-soulbun run souldinals/souldinals.ts reveal-soul \
--commit-txid <txid> \
--reveal-amount <聪> \
--content-base64 <base64> \
[--fee-rate fast|medium|slow|<数字>]选项:
- (必填)——已确认的提交交易ID(64位十六进制字符)
--commit-txid - (必填)——提交输出中的金额,单位为聪(来自
--reveal-amount的响应)inscribe-soul - (必填)——base64编码的soul.md内容(来自
--content-base64的响应)inscribe-soul - (可选)——揭示交易的费率(默认:
--fee-rate)medium
要求:解锁的钱包。
输出:
json
{
"status": "success",
"message": "灵魂铭刻创建成功!",
"inscriptionId": "def456...i0",
"contentType": "text/markdown",
"contentSize": 1024,
"commit": {
"txid": "abc123...",
"explorerUrl": "https://mempool.space/tx/abc123..."
},
"reveal": {
"txid": "def456...",
"fee": 960,
"explorerUrl": "https://mempool.space/tx/def456..."
},
"recipientAddress": "bc1p...",
"note": "揭示交易确认后,灵魂铭文将出现在接收地址中。"
}list-souls
list-souls
List all soul inscriptions (text/markdown) owned by the wallet's Taproot address.
Queries the Unisat Ordinals API and filters for content type.
text/markdownbun run souldinals/souldinals.ts list-soulsRequires: unlocked wallet (for Taproot address).
Output:
json
{
"address": "bc1p...",
"count": 2,
"souls": [
{
"id": "abc123...i0",
"number": 78345,
"contentType": "text/markdown",
"contentLength": 1024,
"timestamp": "2024-01-15T12:00:00.000Z",
"genesisBlockHeight": 835000
}
]
}列出钱包Taproot地址下所有的灵魂铭文(text/markdown类型)。
查询Unisat Ordinals API并筛选类型的内容。
text/markdownbun run souldinals/souldinals.ts list-souls要求:解锁的钱包(用于获取Taproot地址)。
输出:
json
{
"address": "bc1p...",
"count": 2,
"souls": [
{
"id": "abc123...i0",
"number": 78345,
"contentType": "text/markdown",
"contentLength": 1024,
"timestamp": "2024-01-15T12:00:00.000Z",
"genesisBlockHeight": 835000
}
]
}load-soul
load-soul
Load and display the full content of the oldest soul inscription from the wallet.
Finds the oldest text/markdown inscription and fetches its content via the Unisat Ordinals API.
bun run souldinals/souldinals.ts load-soulRequires: unlocked wallet (for Taproot address).
Output:
json
{
"inscriptionId": "abc123...i0",
"contentType": "text/markdown",
"contentSize": 1024,
"timestamp": "2024-01-15T12:00:00.000Z",
"content": "# My Soul\n\n..."
}加载并展示钱包中最早的灵魂铭文的完整内容。
查找最早的text/markdown类型铭文,并通过Unisat Ordinals API获取其内容。
bun run souldinals/souldinals.ts load-soul要求:解锁的钱包(用于获取Taproot地址)。
输出:
json
{
"inscriptionId": "abc123...i0",
"contentType": "text/markdown",
"contentSize": 1024,
"timestamp": "2024-01-15T12:00:00.000Z",
"content": "# My Soul\n\n..."
}display-soul
display-soul
Parse and display soul traits from a specific inscription by ID.
Fetches inscription content and parses Markdown sections to extract identity traits: name, description, values, focus areas, and custom sections.
bun run souldinals/souldinals.ts display-soul --inscription-id <id>Options:
- (required) — Inscription ID (format:
--inscription-id){txid}i{index}
Output:
json
{
"inscriptionId": "abc123...i0",
"contentType": "text/markdown",
"traits": {
"name": "...",
"description": "...",
"values": ["..."],
"focusAreas": ["..."],
"sections": {
"Identity": "...",
"Values": "..."
}
},
"rawContent": "# Soul\n\n..."
}通过铭文ID解析并展示特定铭文的灵魂特征。
获取铭文内容并解析Markdown章节,提取身份特征:名称、描述、价值观、关注领域和自定义章节。
bun run souldinals/souldinals.ts display-soul --inscription-id <id>选项:
- (必填)——铭文ID(格式:
--inscription-id){txid}i{index}
输出:
json
{
"inscriptionId": "abc123...i0",
"contentType": "text/markdown",
"traits": {
"name": "...",
"description": "...",
"values": ["..."],
"focusAreas": ["..."],
"sections": {
"Identity": "...",
"Values": "..."
}
},
"rawContent": "# Soul\n\n..."
}Two-Step Soul Inscription Workflow
两步式灵魂铭刻流程
bash
undefinedbash
undefinedStep 1: Broadcast commit (soul.md defaults to ./SOUL.md)
步骤1:广播提交(soul.md默认使用./SOUL.md)
bun run souldinals/souldinals.ts inscribe-soul
--parent-inscription-id <genesisInscriptionId>
--parent-inscription-id <genesisInscriptionId>
bun run souldinals/souldinals.ts inscribe-soul
--parent-inscription-id <genesisInscriptionId>
--parent-inscription-id <genesisInscriptionId>
Save: commitTxid, revealAmount, contentBase64
保存:commitTxid、revealAmount、contentBase64
Wait for commit to confirm (check mempool.space)
等待提交交易确认(可在mempool.space查看)
Step 2: Reveal (finalizes inscription)
步骤2:揭示(完成铭刻)
bun run souldinals/souldinals.ts reveal-soul
--commit-txid <commitTxid>
--reveal-amount <revealAmount>
--content-base64 <contentBase64>
--commit-txid <commitTxid>
--reveal-amount <revealAmount>
--content-base64 <contentBase64>
undefinedbun run souldinals/souldinals.ts reveal-soul
--commit-txid <commitTxid>
--reveal-amount <revealAmount>
--content-base64 <contentBase64>
--commit-txid <commitTxid>
--reveal-amount <revealAmount>
--content-base64 <contentBase64>
undefinedNotes
注意事项
- and
inscribe-soulrequire a wallet unlocked viareveal-soulbun run wallet/wallet.ts unlock - The wallet must have BTC balance on the SegWit (bc1q/tb1q) address for funding
- Soul inscriptions are received at the Taproot (bc1p/tb1p) address
- The binds the soul as a child in the Souldinals collection
--parent-inscription-id - ,
list-souls, andload-souluse the Unisat Ordinals API (setdisplay-soulenv var for higher rate limits; free tier: 5 req/s)UNISAT_API_KEY
- 和
inscribe-soul需要通过reveal-soul解锁钱包bun run wallet/wallet.ts unlock - 钱包的SegWit(bc1q/tb1q)地址必须有BTC余额用于交易资金
- 灵魂铭文将被接收至Taproot(bc1p/tb1p)地址
- 将灵魂绑定为Souldinals集合中的子铭文
--parent-inscription-id - 、
list-souls和load-soul使用Unisat Ordinals API(设置display-soul环境变量可获得更高请求速率限制;免费层:5次请求/秒)UNISAT_API_KEY