返回顶部
🇺🇸 English
🇨🇳 简体中文
🇨🇳 繁體中文
🇺🇸 English
🇯🇵 日本語
🇰🇷 한국어
🇫🇷 Français
🇩🇪 Deutsch
🇪🇸 Español
🇷🇺 Русский
c

clawchain

ClawChain RPC client for EvoClaw agents. Connects to Substrate-based blockchain, queries on-chain agent data, submits transactions, and enables agents to participate in on-chain governance and reputation tracking. Use when working with ClawChain L1 blockchain, agent DIDs, token economics, or agent reputation systems.

作者: admin | 来源: ClawHub
源自
ClawHub
版本
V 1.0.1
安全检测
已通过
969
下载量
0
收藏
概述
安装方式
版本历史

clawchain

# ClawChain RPC Client Connect EvoClaw agents to the ClawChain blockchain for on-chain reputation tracking, token economics, and governance participation. ## Quick Start ```rust use clawchain::ClawChainClient; #[tokio::main] async fn main() -> anyhow::Result<()> { // Connect to local node let client = ClawChainClient::new("ws://127.0.0.1:9944").await?; // Query agent reputation let did = "did:claw:1a2b3c4d..."; let reputation = client.get_agent_reputation(did).await?; println!("Reputation score: {}", reputation); // Check token balance let balance = client.get_token_balance(did).await?; println!("CLAW tokens: {}", balance); Ok(()) } ``` ## Prerequisites 1. **ClawChain node running:** ```bash clawchain-node --dev --rpc-external --ws-external ``` 2. **Rust dependencies in Cargo.toml:** ```toml [dependencies] clawchain = { path = "/path/to/clawchain-skill" } ``` ## Architecture ``` ┌─────────────────────────────────────────────────┐ │ EvoClaw Edge Agent │ ├─────────────────────────────────────────────────┤ │ ┌────────────────────────────────────────┐ │ │ │ ClawChain Skill (this skill) │ │ │ │ └─ Substrate RPC client │ │ │ └────────────────────────────────────────┘ │ └─────────────────────────────────────────────────┘ ↓ WebSocket ┌─────────────────────────────────────────────────┐ │ ClawChain Node (Substrate) │ │ ┌───────────────────────────────────────────┐ │ │ │ AgentRegistry Pallet │ │ │ │ ClawToken Pallet │ │ │ │ Governance Pallet │ │ │ └───────────────────────────────────────────┘ │ └─────────────────────────────────────────────────┘ ``` ## Key Concepts ### Agent DIDs Agent identifiers follow the format: ``` did:claw:<hash> ``` Where `<hash>` is SHA-256(agent metadata + owner address). ### Reputation Scores Reputation is computed from: ```rust score = (commits * 1000) + (pull_requests * 5000) + (docs * 2000) ``` ### Token Economics - **Total Supply:** 1 billion $CLAW - **Distribution:** 40% airdrop, 30% validators, 20% treasury, 10% team - **Inflation:** 5% annual (floor 2%) for gas subsidies ## API Reference ### Connection ```rust let client = ClawChainClient::new("ws://localhost:9944").await?; ``` **Parameters:** - `url`: WebSocket URL (ws:// or wss://) - Returns: Connected client ### Query Agent ```rust let agent = client.get_agent("did:claw:...").await?; ``` **Returns:** `AgentInfo` struct with: - `did`: Agent DID - `owner`: Owner address - `metadata`: IPFS hash - `reputation`: Reputation score - `verifications`: Number of attestations ### Get Token Balance ```rust let balance = client.get_token_balance("did:claw:...").await?; ``` **Returns:** Token balance (u128) ### Register Agent ```rust let did = client.register_agent(metadata_ipfs_hash).await?; ``` **Returns:** Newly created DID ### Vote on Proposal ```rust client.vote(proposal_id, true).await?; ``` **Parameters:** - `proposal_id`: Proposal identifier - `approve`: true (approve) or false (reject) ### Submit Transaction ```rust let tx_hash = client.submit_extrinsic(call_data).await?; ``` **Parameters:** - `call_data`: Encoded extrinsic - **Returns:** Transaction hash ## Error Handling ```rust use clawchain::ClawChainError; match client.get_agent(did).await { Ok(agent) => println!("Agent: {:?}", agent), Err(ClawChainError::NotFound) => println!("Agent not found"), Err(e) => eprintln!("Error: {:?}", e), } ``` ## Example: Full Agent Integration ```rust use clawchain::ClawChainClient; #[tokio::main] async fn main() -> anyhow::Result<()> { let client = ClawChainClient::new("ws://127.0.0.1:9944").await?; // 1. Register this agent let metadata = b"{\"name\":\"pi1-edge\",\"type\":\"edge\"}"; let did = client.register_agent(metadata).await?; println!("Registered: {}", did); // 2. Check reputation let rep = client.get_agent_reputation(&did).await?; println!("Reputation: {}", rep); // 3. Vote on governance proposal if rep > 1000 { client.vote(123, true).await?; println!("Voted on proposal #123"); } Ok(()) } ``` ## Monitoring Subscribe to chain events: ```rust client.subscribe_events(|event| { match event { ChainEvent::Block(block) => println!("New block: {}", block.number), ChainEvent::AgentRegistered(did) => println!("Agent: {}", did), ChainEvent::ProposalPassed(id) => println!("Proposal {} passed", id), } }).await?; ``` ## Testing Mock RPC server for testing: ```rust let mock = MockServer::new().await?; let client = mock.client().await?; ``` ## Security Notes - **Never expose private keys** in agent code - Use **programmatic signing** for autonomous agents - Validate all RPC responses - Implement rate limiting for public RPC endpoints ## References - [ClawChain Architecture](https://github.com/clawinfra/claw-chain/blob/main/docs/architecture/overview.md) - [Substrate RPC Docs](https://docs.substrate.io/) - [Agent Registry Pallet](https://github.com/clawinfra/claw-chain/blob/main/pallets/agent-registry)

标签

skill ai

通过对话安装

该技能支持在以下平台通过对话安装:

OpenClaw WorkBuddy QClaw Kimi Claude

方式一:安装 SkillHub 和技能

帮我安装 SkillHub 和 clawchain-1776336078 技能

方式二:设置 SkillHub 为优先技能安装源

设置 SkillHub 为我的优先技能安装源,然后帮我安装 clawchain-1776336078 技能

通过命令行安装

skillhub install clawchain-1776336078

下载 Zip 包

⬇ 下载 clawchain v1.0.1

文件大小: 11.6 KB | 发布时间: 2026-4-17 13:46

v1.0.1 最新 2026-4-17 13:46
Sanitize personal info from examples

Archiver·手机版·闲社网·闲社论坛·羊毛社区· 多链控股集团有限公司 · 苏ICP备2025199260号-1

Powered by Discuz! X5.0   © 2024-2025 闲社网·线报更新论坛·羊毛分享社区·http://xianshe.com

p2p_official_large
返回顶部