Requirements
- Target platform
- OpenClaw
- Install method
- Manual import
- Extraction
- Extract archive
- Prerequisites
- OpenClaw
- Primary doc
- SKILL.md
Set up and manage Xian blockchain nodes. Use when deploying a Xian node to join mainnet/testnet, creating a new Xian network, or managing running nodes. Covers Docker-based setup via xian-stack, CometBFT configuration, and node monitoring.
Set up and manage Xian blockchain nodes. Use when deploying a Xian node to join mainnet/testnet, creating a new Xian network, or managing running nodes. Covers Docker-based setup via xian-stack, CometBFT configuration, and node monitoring.
Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.
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.
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.
Deploy and manage Xian blockchain nodes β an L1 with native Python smart contracts on CometBFT.
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'
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
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'
make core-shell # Enter container make up # Start pm2 processes pm2 logs # Watch sync progress exit # Leave shell (node keeps running)
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
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()}') "
Create genesis.json with initial validators and state. See references/genesis-template.md.
make configure CONFIGURE_ARGS='--moniker "genesis-validator" --genesis-file-name "genesis-custom.json" --validator-privkey "<privkey>"'
make core-shell make up Other nodes join using your node as seed.
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)
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'
CommandDescriptionmake core-upStart containermake core-downStop containermake core-shellEnter container shellmake core-bds-upStart with BDS (PostgreSQL + GraphQL)
PortService26656P2P (peering)26657RPC (queries)26660Prometheus metrics5000GraphQL (BDS only)
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
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
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.
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
Agent frameworks, memory systems, reasoning layers, and model-native orchestration.
Largest current source with strong distribution and engagement signals.