技能详情(站内镜像,无评论)
许可证:MIT-0
MIT-0 ·免费使用、修改和重新分发。无需归因。
版本:v1.0.3
统计:⭐ 0 · 359 · 0 current installs · 0 all-time installs
⭐ 0
安装量(当前) 0
🛡 VirusTotal :良性 · OpenClaw :良性
Package:get-hba
安全扫描(ClawHub)
- VirusTotal :良性
- OpenClaw :良性
OpenClaw 评估
The skill's instructions and requirements are internally consistent with a clank.money HBA registration/update workflow, with minor documentation mismatches (it uses curl/python3 and writes a local token file but declares no required binaries or config paths).
目的
Name and description match the actions described in SKILL.md: creating and updating Human Bitcoin Addresses on clank.money using the L402 payment flow and a managementToken for authenticated updates.
说明范围
SKILL.md is specific about calling clank.money endpoints, creating a payment-challenge, paying a Lightning invoice, and saving a managementToken to a local file; it does not instruct reading unrelated files or exfiltrating data. It does rely on network access, writing to $HOME/.clank/<username>.management_token and temporary /tmp files, and interactive input of a preimage.
安装机制
Instruction-only skill with no install/spec — nothing is written by an installer. Runtime commands are plain curl/python3 shell snippets rather than installed packages.
证书
The skill declares no required environment variables or credentials (correct for a flow where the service returns a managementToken after payment). However the instructions expect the runtime to have curl and python3 available and to permit writing a token file under $HOME; those expectations are not listed in the metadata (minor inconsistency). The managementToken is treated as a local secret and must be protected.
持久
Skill is not always-enabled and is user-invocable. It does instruct storing a per-username management token locally, but it does not request elevated privileges or system-wide config changes.
综合结论
This skill appears to implement exactly the clank.money registration and update flow. Before installing/using it: 1) Verify you trust https://clank.money and confirm the API endpoints and TLS certificate manually. 2) Ensure your runtime has curl and python3 (SKILL.md uses them) and that you are comfortable the skill will write a secret token to $HOME/.clank/<username>.management_token (it sets chmod 600). Treat that managementToken as a sensit…
安装(复制给龙虾 AI)
将下方整段复制到龙虾中文库对话中,由龙虾按 SKILL.md 完成安装。
请把本段交给龙虾中文库(龙虾 AI)执行:为本机安装 OpenClaw 技能「Get a clank.money Human Bitcoin Address」。简介:Agent-first service to register and manage Human Bitcoin Addresses (BIP-353) on…。
请 fetch 以下地址读取 SKILL.md 并按文档完成安装:https://raw.githubusercontent.com/openclaw/skills/refs/heads/main/skills/matbalez/get-hba/SKILL.md
(来源:yingzhi8.cn 技能库)
SKILL.md
---
name: Clank Human Bitcoin Address
description: Agent-first service to register and manage Human Bitcoin Addresses (BIP-353) on clank.money with L402 bitcoin payments.
---
# Clank Human Bitcoin Address Skill
Use this skill to register and update a Human Bitcoin Address under `clank.money` (BIP-353 DNS payment instructions pointing to a BIP-321 URI).
## CRITICAL FIRST
- `managementToken` is returned after successful paid registration (`201` or `202`).
- You must save `managementToken` immediately and securely.
- CRITICAL: If the token is lost, future updates to that address cannot be authenticated.
## API Endpoints
- `POST https://clank.money/api/v1/registrations`
- `GET https://clank.money/api/v1/registrations/{username}`
- `PATCH https://clank.money/api/v1/registrations/{username}`
## Required Registration Input
- `username`
- lowercase letters, digits, hyphens
- 3 to 32 chars
- cannot start/end with `-`
- `bip321Uri`
- required
- must start with `bitcoin:`
- should be valid BIP-321
- strongly suggested: include a BOLT12 offer (`lno=...`)
## Strict Registration Checklist
Registration price is `999` sats.
1. Submit unauthenticated registration request (`POST /api/v1/registrations`).
- Output: either `409 username_unavailable` or `402 payment_required`.
2. If `409`, pick another username and repeat step 1.
- Output: `402 payment_required` response.
3. Read L402 challenge values from `402` response: `macaroon`, `invoice`, `paymentHash`, `amountSats`, `expiresAt`.
- Output: invoice + macaroon.
4. Pay the Lightning invoice and obtain `preimage`.
- Output: payment preimage.
5. Retry the exact same `POST /api/v1/registrations` with:
- `Authorization: L402 <macaroon>:<preimage>`
- Output: `201` or `202` with `managementToken`.
6. Save the management token immediately.
- CRITICAL: If this token is lost, updates are impossible.
- Output: secure local token file.
## Copy-Paste Happy Path (Bash)
```bash
set -euo pipefail
BASE="https://clank.money"
USERNAME="satoshi"
BIP321_URI='bitcoin:?lno=lno1examplebolt12offer'
TOKEN_FILE="$HOME/.clank/${USERNAME}.management_token"
mkdir -p "$(dirname "$TOKEN_FILE")"
# 1) Create challenge (or fail fast if name taken)
curl -sS -X POST "$BASE/api/v1/registrations"
-H "content-type: application/json"
--data "{"username":"$USERNAME","bip321Uri":"$BIP321_URI"}"
> /tmp/clank_register_challenge.json
ERROR_CODE="$(python3 -c 'import json; d=json.load(open("/tmp/clank_register_challenge.json")); e=d.get("error"); print((e.get("code") if isinstance(e,dict) else e) or "")')"
if [ "$ERROR_CODE" = "username_unavailable" ]; then
echo "Username is taken. Pick another USERNAME and rerun."
exit 1
fi
if [ "$ERROR_CODE" != "payment_required" ]; then
echo "Unexpected challenge response:"
cat /tmp/clank_register_challenge.json
exit 1
fi
MACAROON="$(python3 -c 'import json; print(json.load(open("/tmp/clank_register_challenge.json"))["macaroon"])')"
INVOICE="$(python3 -c 'import json; print(json.load(open("/tmp/clank_register_challenge.json"))["invoice"])')"
echo "Pay this invoice now:"
echo "$INVOICE"
# 2) After payment, paste your preimage
read -r -p "PASTE_PREIMAGE=" PREIMAGE
# 3) Complete paid registration
curl -sS -X POST "$BASE/api/v1/registrations"
-H "content-type: application/json"
-H "Authorization: L402 $MACAROON:$PREIMAGE"
--data "{"username":"$USERNAME","bip321Uri":"$BIP321_URI"}"
> /tmp/clank_register_result.json
MGMT="$(python3 -c 'import json; d=json.load(open("/tmp/clank_register_result.json")); print(d.get("managementToken",""))')"
if [ -z "$MGMT" ]; then
echo "No managementToken in final response:"
cat /tmp/clank_register_result.json
exit 1
fi
# 4) CRITICAL: persist token securely for future updates
printf '%sn' "$MGMT" > "$TOKEN_FILE"
chmod 600 "$TOKEN_FILE"
echo "Saved management token to $TOKEN_FILE"
```
## Update Flow
1. Load stored token from your secure file.
2. Call `PATCH /api/v1/registrations/{username}` with:
- `Authorization: Bearer <managementToken>`
- JSON body with new `bip321Uri`
Example:
```bash
USERNAME="satoshi"
TOKEN_FILE="$HOME/.clank/${USERNAME}.management_token"
NEW_BIP321='bitcoin:?lno=lno1newbolt12offer'
MGMT="$(cat "$TOKEN_FILE")"
curl -sS -X PATCH "https://clank.money/api/v1/registrations/$USERNAME"
-H "content-type: application/json"
-H "Authorization: Bearer $MGMT"
--data "{"bip321Uri":"$NEW_BIP321"}"
```