核心功能
structs-diplomacy 是一套面向 Structs 区块链 的权限管理与多地址协调 CLI 工具集,专注于玩家级与地址级的访问控制体系。其核心能力涵盖:
权限管理三模式
- Grant(追加授权):向指定玩家叠加权限,不破坏既有授权
- Revoke(定向撤销):精确移除特定权限位
- Set(完全重置):清空后重新设定权限集合
该设计兼顾了增量协作(Grant)与安全审计(Set 全量覆盖)两种场景需求。
双层级权限体系
| 层级 | 作用域 | 典型场景 |
|------|--------|----------|
| Object 级 | 游戏内实体(如建筑、舰队) | 公会资产共管、临时借用 |
| Address 级 | 区块链地址本身 | 多签钱包、冷钱包权限隔离 |
地址生命周期管理
- 注册:通过
proof-pubkey+proof-signature完成地址所有权验证 - 吊销:永久移除地址与玩家的关联
- 主地址切换:支持玩家更换默认操作地址
显著优点
1. CLI 级原子操作:所有权限变更均为链上交易,可通过 --dry-run 预演(需节点支持)
2. 防误触设计:强制使用 -- 分隔符解决带连字符 ID(如 3-1)被解析为 flags 的问题
3. 可验证性:提供 permission-by-object、address-all-by-player 等查询命令,便于审计
潜在局限与风险
| 风险点 | 说明 |
|--------|------|
| **权限累积盲区** | Grant 模式易导致权限膨胀,建议定期用 Set 模式审计 |
| **地址证明依赖** | 注册需外部生成有效签名,新手可能卡在 auth 流程 |
| **无多签原生支持** | 需通过多次 Grant 模拟多签,缺乏阈值门限机制 |
| **Gas 估算波动** | `--gas-adjustment 1.5` 为经验值,网络拥堵时可能不足 |
适合人群
- 公会/DAO 管理员:需批量管理共享资产权限
- 安全审计员:通过查询命令验证权限矩阵合规性
- 多账户玩家:整合多个钱包地址到单一玩家身份
常规风险提示
> ⚠️ Set 操作不可逆:permission-set-on-object 会完全清空既有权限,误操作可能导致自身失权,建议先查询备份。
> ⚠️ 地址吊销即断联:address-revoke 后该地址无法代表原玩家操作,无恢复机制。
> ⚠️ 签名材料保管:注册时的 proof-signature 泄露可能导致地址被恶意关联。