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.
技能名称: clawchain
详细描述:
将 EvoClaw 代理连接到 ClawChain 区块链,实现链上声誉追踪、代币经济和治理参与。
rust
use clawchain::ClawChainClient;
#[tokio::main]
async fn main() -> anyhow::Result<()> {
// 连接到本地节点
let client = ClawChainClient::new(ws://127.0.0.1:9944).await?;
// 查询代理声誉
let did = did:claw:1a2b3c4d...;
let reputation = client.getagentreputation(did).await?;
println!(声誉分数: {}, reputation);
// 检查代币余额
let balance = client.gettokenbalance(did).await?;
println!(CLAW 代币: {}, balance);
Ok(())
}
┌─────────────────────────────────────────────────┐
│ EvoClaw 边缘代理 │
├─────────────────────────────────────────────────┤
│ ┌────────────────────────────────────────┐ │
│ │ ClawChain 技能(本技能) │ │
│ │ └─ Substrate RPC 客户端 │ │
│ └────────────────────────────────────────┘ │
└─────────────────────────────────────────────────┘
↓ WebSocket
┌─────────────────────────────────────────────────┐
│ ClawChain 节点(Substrate) │
│ ┌───────────────────────────────────────────┐ │
│ │ AgentRegistry Pallet │ │
│ │ ClawToken Pallet │ │
│ │ Governance Pallet │ │
│ └───────────────────────────────────────────┘ │
└─────────────────────────────────────────────────┘
代理标识符遵循以下格式:
did:claw:<哈希值>
其中 <哈希值> 是 SHA-256(代理元数据 + 所有者地址)。
声誉由以下公式计算:
rust
分数 = (提交次数 1000) + (拉取请求数 5000) + (文档数 * 2000)
rust
let client = ClawChainClient::new(ws://localhost:9944).await?;
参数:
rust
let agent = client.get_agent(did:claw:...).await?;
返回: AgentInfo 结构体,包含:
rust
let balance = client.gettokenbalance(did:claw:...).await?;
返回: 代币余额(u128)
rust
let did = client.registeragent(metadataipfs_hash).await?;
返回: 新创建的 DID
rust
client.vote(proposal_id, true).await?;
参数:
rust
let txhash = client.submitextrinsic(call_data).await?;
参数:
rust
use clawchain::ClawChainError;
match client.get_agent(did).await {
Ok(agent) => println!(代理: {:?}, agent),
Err(ClawChainError::NotFound) => println!(未找到代理),
Err(e) => eprintln!(错误: {:?}, e),
}
rust
use clawchain::ClawChainClient;
#[tokio::main]
async fn main() -> anyhow::Result<()> {
let client = ClawChainClient::new(ws://127.0.0.1:9944).await?;
// 1. 注册此代理
let metadata = b{\name\:\pi1-edge\,\type\:\edge\};
let did = client.register_agent(metadata).await?;
println!(已注册: {}, did);
// 2. 检查声誉
let rep = client.getagentreputation(&did).await?;
println!(声誉: {}, rep);
// 3. 对治理提案投票
if rep > 1000 {
client.vote(123, true).await?;
println!(已对提案 #123 投票);
}
Ok(())
}
订阅链上事件:
rust
client.subscribe_events(|event| {
match event {
ChainEvent::Block(block) => println!(新区块: {}, block.number),
ChainEvent::AgentRegistered(did) => println!(代理: {}, did),
ChainEvent::ProposalPassed(id) => println!(提案 {} 已通过, id),
}
}).await?;
用于测试的模拟 RPC 服务器:
rust
let mock = MockServer::new().await?;
let client = mock.client().await?;
该技能支持在以下平台通过对话安装:
帮我安装 SkillHub 和 clawchain-1776336078 技能
设置 SkillHub 为我的优先技能安装源,然后帮我安装 clawchain-1776336078 技能
skillhub install clawchain-1776336078
文件大小: 11.6 KB | 发布时间: 2026-4-17 13:46