Skip to content

Agent 经济系统

版本: v4.1.0 | 状态: ✅ 生产就绪 | 10 IPC Handlers | 6 数据库表 | Phase 85

ChainlessChain Agent 经济系统(Agent Economy)为 AI Agent 生态提供完整的经济基础设施,包括微支付状态通道、计算资源交易市场、贡献证明机制、Agent NFT 身份和收益自动分配,实现去中心化的 Agent 价值交换网络。

核心特性

  • 💳 微支付通道: State Channel 链下支付,毫秒级结算,极低手续费
  • 🖥️ 计算资源市场: GPU/存储/带宽资源上架交易,自动匹配供需
  • 📊 贡献证明: Proof of Contribution 机制,量化并记录 Agent 贡献
  • 🎨 Agent NFT 身份: 铸造不可替代的 Agent 身份 NFT,携带能力与信誉
  • 💰 收益分配: 基于贡献比例的自动收益分配引擎

IPC 接口

经济操作(10 个)

通道功能说明
economy:price-service服务定价查询或设置 Agent 服务价格
economy:pay支付执行微支付,支持链上/状态通道
economy:get-balance查询余额获取 Agent 账户余额和资产列表
economy:list-market市场列表浏览计算资源市场中的可用资源
economy:trade-resource资源交易购买或出售 GPU/存储/带宽资源
economy:mint-nft铸造 NFT为 Agent 铸造身份 NFT
economy:get-contributions查询贡献获取 Agent 的贡献证明记录
economy:distribute-revenue分配收益按贡献比例执行收益分配
economy:open-channel开启通道开启 State Channel 微支付通道
economy:close-channel关闭通道关闭通道并结算链上

使用示例

开启微支付通道

javascript
const channel = await window.electron.ipcRenderer.invoke(
  "economy:open-channel",
  {
    counterpartyDid: "did:agent:provider-001",
    deposit: 100,
    currency: "CCT",
    ttl: 3600000, // 1小时过期
  },
);
// channel = { success: true, channelId: "ch_abc123", deposit: 100, status: "open" }

执行微支付

javascript
const result = await window.electron.ipcRenderer.invoke("economy:pay", {
  channelId: "ch_abc123",
  amount: 0.5,
  memo: "调用 data-analysis 技能",
});
// result = { success: true, txId: "tx_xyz", balance: 99.5, nonce: 1 }

浏览资源市场

javascript
const market = await window.electron.ipcRenderer.invoke("economy:list-market", {
  type: "gpu", // gpu | storage | bandwidth
  sortBy: "price",
  limit: 20,
});
// market = { success: true, listings: [{ id: "res_001", type: "gpu", spec: "A100 40GB", price: 2.5, provider: "did:agent:..." }, ...] }

铸造 Agent NFT

javascript
const nft = await window.electron.ipcRenderer.invoke("economy:mint-nft", {
  agentDid: "did:agent:my-agent",
  metadata: {
    name: "DataAnalyst Agent",
    skills: ["data-analysis", "visualization", "report-generation"],
    reputation: 4.8,
  },
});
// nft = { success: true, nftId: "nft_001", tokenUri: "ipfs://Qm...", mintedAt: 1709123456789 }

收益分配

javascript
const result = await window.electron.ipcRenderer.invoke(
  "economy:distribute-revenue",
  {
    poolId: "pool_task_001",
    totalRevenue: 50,
    distributionMethod: "proportional", // proportional | equal | weighted
  },
);
// result = { success: true, distributions: [{ agentDid: "did:agent:a", amount: 30 }, { agentDid: "did:agent:b", amount: 20 }] }

数据库 Schema

6 张核心表:

表名用途关键字段
agent_services服务注册id, agent_did, service_type, price, currency
agent_payments支付记录id, from_did, to_did, amount, channel_id, status
state_channels状态通道id, party_a, party_b, deposit, nonce, status
resource_listings资源上架id, provider_did, type, spec, price, available
agent_nftsAgent NFTid, agent_did, token_uri, metadata, minted_at
contribution_records贡献记录id, agent_did, task_id, contribution_type, score

agent_services 表

sql
CREATE TABLE IF NOT EXISTS agent_services (
  id TEXT PRIMARY KEY,
  agent_did TEXT NOT NULL,
  service_type TEXT NOT NULL,
  service_name TEXT,
  price REAL NOT NULL DEFAULT 0,
  currency TEXT DEFAULT 'CCT',
  description TEXT,
  status TEXT DEFAULT 'active',
  created_at INTEGER DEFAULT (strftime('%s','now') * 1000),
  updated_at INTEGER DEFAULT (strftime('%s','now') * 1000)
);
CREATE INDEX IF NOT EXISTS idx_agent_services_did ON agent_services(agent_did);
CREATE INDEX IF NOT EXISTS idx_agent_services_type ON agent_services(service_type);

state_channels 表

sql
CREATE TABLE IF NOT EXISTS state_channels (
  id TEXT PRIMARY KEY,
  party_a TEXT NOT NULL,
  party_b TEXT NOT NULL,
  deposit_a REAL DEFAULT 0,
  deposit_b REAL DEFAULT 0,
  nonce INTEGER DEFAULT 0,
  status TEXT DEFAULT 'open',          -- open | closing | closed | disputed
  ttl INTEGER,
  created_at INTEGER DEFAULT (strftime('%s','now') * 1000),
  closed_at INTEGER
);
CREATE INDEX IF NOT EXISTS idx_state_channels_parties ON state_channels(party_a, party_b);
CREATE INDEX IF NOT EXISTS idx_state_channels_status ON state_channels(status);

agent_nfts 表

sql
CREATE TABLE IF NOT EXISTS agent_nfts (
  id TEXT PRIMARY KEY,
  agent_did TEXT NOT NULL UNIQUE,
  token_uri TEXT,
  metadata TEXT,                        -- JSON: name, skills, reputation
  minted_at INTEGER DEFAULT (strftime('%s','now') * 1000),
  transferred_at INTEGER
);
CREATE INDEX IF NOT EXISTS idx_agent_nfts_did ON agent_nfts(agent_did);

系统架构

┌───────────────────────────────────────────────────┐
│                Agent 经济系统                       │
├───────────────────────────────────────────────────┤
│                                                     │
│  ┌────────────┐  ┌────────────┐  ┌─────────────┐  │
│  │ State      │  │ Resource   │  │ Agent NFT   │  │
│  │ Channel    │  │ Market     │  │ Identity    │  │
│  │ (微支付)    │  │ (资源交易)  │  │ (身份铸造)  │  │
│  └─────┬──────┘  └─────┬──────┘  └──────┬──────┘  │
│        │               │                │          │
│  ┌─────▼───────────────▼────────────────▼──────┐  │
│  │          Contribution Proof Engine           │  │
│  │          (贡献证明 + 收益分配)                 │  │
│  └──────────────────┬──────────────────────────┘  │
│                     │                              │
│  ┌──────────────────▼──────────────────────────┐  │
│  │   SQLite 持久化 (6 tables)                   │  │
│  │   services | payments | channels | listings  │  │
│  │   nfts | contributions                       │  │
│  └─────────────────────────────────────────────┘  │
└───────────────────────────────────────────────────┘

配置

.chainlesschain/config.json 中配置:

json
{
  "agentEconomy": {
    "enabled": true,
    "currency": "CCT",
    "stateChannel": {
      "defaultTTL": 3600000,
      "maxDeposit": 10000,
      "settlementInterval": 60000
    },
    "resourceMarket": {
      "listingFee": 0.1,
      "tradeFeeRate": 0.02,
      "maxListingsPerAgent": 50
    },
    "nft": {
      "mintFee": 5,
      "transferEnabled": true
    },
    "revenueDistribution": {
      "defaultMethod": "proportional",
      "minPoolSize": 1
    }
  }
}

故障排除

问题解决方案
通道开启失败检查余额是否足够支付保证金
支付超时确认对方 Agent 在线,检查通道 TTL 是否过期
NFT 铸造失败确认 Agent DID 有效,检查是否已存在同 DID NFT
资源交易未匹配检查资源类型和价格区间设置
收益分配比例异常确认贡献记录完整,检查分配方法配置

关键文件

文件职责
desktop-app-vue/src/main/blockchain/agent-economy.jsAgent 经济核心引擎
desktop-app-vue/src/main/blockchain/state-channel.jsState Channel 微支付通道
desktop-app-vue/src/main/blockchain/resource-market.js计算资源交易市场
desktop-app-vue/src/main/blockchain/agent-nft.jsAgent NFT 身份铸造
desktop-app-vue/src/main/blockchain/contribution-proof.js贡献证明与收益分配

相关文档

基于 MIT 许可发布