# Send Xian Node to your agent
Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.
## Fast path
- Download the package from Yavira.
- Extract it into a folder your agent can access.
- Paste one of the prompts below and point your agent at the extracted folder.
## Suggested prompts
### New install

```text
I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete.
```
### Upgrade existing

```text
I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run.
```
## Machine-readable fields
```json
{
  "schemaVersion": "1.0",
  "item": {
    "slug": "xian-node-skill",
    "name": "Xian Node",
    "source": "tencent",
    "type": "skill",
    "category": "AI 智能",
    "sourceUrl": "https://clawhub.ai/Endogen/xian-node-skill",
    "canonicalUrl": "https://clawhub.ai/Endogen/xian-node-skill",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadUrl": "/downloads/xian-node-skill",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=xian-node-skill",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "packageFormat": "ZIP package",
    "primaryDoc": "SKILL.md",
    "includedAssets": [
      "SKILL.md",
      "references/genesis-template.md",
      "scripts/generate_validator_key.py",
      "scripts/node_status.py"
    ],
    "downloadMode": "redirect",
    "sourceHealth": {
      "source": "tencent",
      "slug": "xian-node-skill",
      "status": "healthy",
      "reason": "direct_download_ok",
      "recommendedAction": "download",
      "checkedAt": "2026-05-04T13:26:28.521Z",
      "expiresAt": "2026-05-11T13:26:28.521Z",
      "httpStatus": 200,
      "finalUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=xian-node-skill",
      "contentType": "application/zip",
      "probeMethod": "head",
      "details": {
        "probeUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=xian-node-skill",
        "contentDisposition": "attachment; filename=\"xian-node-skill-0.1.0.zip\"",
        "redirectLocation": null,
        "bodySnippet": null,
        "slug": "xian-node-skill"
      },
      "scope": "item",
      "summary": "Item download looks usable.",
      "detail": "Yavira can redirect you to the upstream package for this item.",
      "primaryActionLabel": "Download for OpenClaw",
      "primaryActionHref": "/downloads/xian-node-skill"
    },
    "validation": {
      "installChecklist": [
        "Use the Yavira download entry.",
        "Review SKILL.md after the package is downloaded.",
        "Confirm the extracted package contains the expected setup assets."
      ],
      "postInstallChecks": [
        "Confirm the extracted package includes the expected docs or setup files.",
        "Validate the skill or prompts are available in your target agent workspace.",
        "Capture any manual follow-up steps the agent could not complete."
      ]
    }
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/xian-node-skill",
    "downloadUrl": "https://openagent3.xyz/downloads/xian-node-skill",
    "agentUrl": "https://openagent3.xyz/skills/xian-node-skill/agent",
    "manifestUrl": "https://openagent3.xyz/skills/xian-node-skill/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/xian-node-skill/agent.md"
  }
}
```
## Documentation

### Xian Node Skill

Deploy and manage Xian blockchain nodes — an L1 with native Python smart contracts on CometBFT.

### Quick Reference

TaskCommandJoin mainnetmake setup && make core-build && make core-up && make init && make configure CONFIGURE_ARGS='--genesis-file-name genesis-mainnet.json --seed-node-address <seed> --copy-genesis'Start nodemake core-shell then make up inside containerView logspm2 logs --lines 100 (inside container)Stop nodemake down (inside container) or make core-down (stop container)Check synccurl -s localhost:26657/status | jq '.result.sync_info'

### 1. Clone and Build

git clone https://github.com/xian-network/xian-stack.git
cd xian-stack
make setup CORE_BRANCH=mainnet CONTRACTING_BRANCH=mainnet
make core-build
make core-up

### 2. Initialize CometBFT

make init

### 3. Configure Node

Mainnet:

make configure CONFIGURE_ARGS='--moniker "my-node" --genesis-file-name "genesis-mainnet.json" --seed-node-address "c3861ffd16cf6708aef6683d3d0471b6dedb3116@152.53.18.220" --copy-genesis'

Testnet:

make configure CONFIGURE_ARGS='--moniker "my-node" --genesis-file-name "genesis-testnet.json" --seed-node-address "<testnet-seed>" --copy-genesis'

Validator node (add private key):

make configure CONFIGURE_ARGS='--moniker "my-validator" --genesis-file-name "genesis-mainnet.json" --validator-privkey "<your-privkey>" --seed-node-address "..." --copy-genesis'

Service node (with BDS - Blockchain Data Service):

make configure CONFIGURE_ARGS='--moniker "my-service" --genesis-file-name "genesis-mainnet.json" --seed-node-address "..." --copy-genesis --service-node'

### 4. Start Node

make core-shell   # Enter container
make up           # Start pm2 processes
pm2 logs          # Watch sync progress
exit              # Leave shell (node keeps running)

### 1. Build Stack

git clone https://github.com/xian-network/xian-stack.git
cd xian-stack
make setup CORE_BRANCH=mainnet CONTRACTING_BRANCH=mainnet
make core-build
make core-up
make init

### 2. Generate Validator Keys

Inside container (make core-shell):

# Generate new validator key
python -c "
from nacl.signing import SigningKey
import secrets
sk = SigningKey(secrets.token_bytes(32))
print(f'Private key: {sk.encode().hex()}')
print(f'Public key:  {sk.verify_key.encode().hex()}')
"

### 3. Create Genesis File

Create genesis.json with initial validators and state. See references/genesis-template.md.

### 4. Configure as Genesis Validator

make configure CONFIGURE_ARGS='--moniker "genesis-validator" --genesis-file-name "genesis-custom.json" --validator-privkey "<privkey>"'

### 5. Start Network

make core-shell
make up

Other nodes join using your node as seed.

### Inside Container Commands

CommandDescriptionmake upStart xian + cometbft via pm2make downStop all pm2 processesmake restartRestart nodemake logsView pm2 logsmake wipeClear node data (keeps config)make dwuDown + wipe + init + up (full reset)

### Monitoring

Sync status:

curl -s localhost:26657/status | jq '.result.sync_info'

Response fields:

latest_block_height: Current height
catching_up: true if still syncing
earliest_block_height: Lowest available block

Node info:

curl -s localhost:26657/status | jq '.result.node_info'
make node-id   # Get node ID for peering

Validators:

curl -s localhost:26657/validators | jq '.result.validators'

### Docker Commands

CommandDescriptionmake core-upStart containermake core-downStop containermake core-shellEnter container shellmake core-bds-upStart with BDS (PostgreSQL + GraphQL)

### Ports

PortService26656P2P (peering)26657RPC (queries)26660Prometheus metrics5000GraphQL (BDS only)

### Troubleshooting

Database lock error (resource temporarily unavailable):

# Duplicate pm2 processes - clean up:
pm2 delete all
make up

Sync stuck:

# Check peer connections
curl -s localhost:26657/net_info | jq '.result.n_peers'

# Verify seed node is reachable
make wipe
make init
# Re-run configure with correct seed

Container not starting:

make core-down
make core-build --no-cache
make core-up

### File Locations

PathContents.cometbft/CometBFT data + config.cometbft/config/genesis.jsonNetwork genesis.cometbft/config/config.tomlNode configuration.cometbft/data/Blockchain dataxian-core/Xian ABCI applicationxian-contracting/Python contracting engine

### Test Your Node

After syncing, verify your node works with xian-py:

pip install xian-py

from xian_py import Xian, Wallet

# Connect to your local node
xian = Xian('http://localhost:26657')

# Query balance
balance = xian.get_balance('your_address')
print(f"Balance: {balance}")

# Get contract state
state = xian.get_state('currency', 'balances', 'some_address')
print(f"State: {state}")

# Create wallet and send transaction
wallet = Wallet()  # or Wallet('your_private_key')
xian = Xian('http://localhost:26657', wallet=wallet)
result = xian.send(amount=10, to_address='recipient_address')

For full SDK docs (contracts, HD wallets, async) — see xian-py.

### Resources

xian-network/xian-stack — Docker setup
xian-network/xian-core — Core node
xian-network/xian-py — Python SDK
CometBFT docs — Consensus engine
xian.org — Project site
## Trust
- Source: tencent
- Verification: Indexed source record
- Publisher: Endogen
- Version: 0.1.0
## Source health
- Status: healthy
- Item download looks usable.
- Yavira can redirect you to the upstream package for this item.
- Health scope: item
- Reason: direct_download_ok
- Checked at: 2026-05-04T13:26:28.521Z
- Expires at: 2026-05-11T13:26:28.521Z
- Recommended action: Download for OpenClaw
## Links
- [Detail page](https://openagent3.xyz/skills/xian-node-skill)
- [Send to Agent page](https://openagent3.xyz/skills/xian-node-skill/agent)
- [JSON manifest](https://openagent3.xyz/skills/xian-node-skill/agent.json)
- [Markdown brief](https://openagent3.xyz/skills/xian-node-skill/agent.md)
- [Download page](https://openagent3.xyz/downloads/xian-node-skill)