用OKX钱包签发EAS证明:字段、撤销与核验

 / 
3

用 OKX 钱包签发 EAS 证明,钱包本身不会帮你"创建"或"编辑"证明内容。OKX 钱包在这里的角色跟 MetaMask 一样:连接 EAS 的界面、弹出交易签名、把证明写进链上。真正决定你能签什么、怎么签的,是 EAS 的 Schema(数据模板)和 EASScan 或第三方前端。

欧易OKX交易所
全球领先的加密货币平台,适合新手与进阶交易者
新手福利:注册即享20% 交易手续费减免!

字段:Schema 决定了一切

EAS 里的"证明"不是自由文本,它必须引用一个已注册的 Schema。Schema 规定了这条证明里有哪些字段、每个字段是什么类型。

最简单的 Schema 可以只有一个 string 字段,比如"对某个陈述的证明"。复杂一点的 Schema 可以有几十个字段,覆盖各种类型:address、bool、uint8 到 uint256、bytes32、string,甚至这些类型的数组。

举个例子,EASScan 上有一个音乐元数据 Schema,包含 isrc、displayArtist、genre 等二十多个 string 字段,以及 RP_nfcUidHash(bytes32)、RP_releaseId(uint256)等结构化字段。另一个 Human Passport 的 Schema 则用 bool passing_score、uint8 score_decimals、tuple(string provider, uint256 score)[] stamps 这样的组合来表达评分和凭证列表。

你签发的证明里能放什么,取决于你引用了哪个 Schema。 如果你想证明的内容不符合任何现有 Schema,你需要先注册一个新的——而注册 Schema 本身也是一笔链上交易,需要用 OKX 钱包签名。

签发:在 EASScan 或兼容前端里操作

OKX 钱包无法在自身界面内直接签发 EAS 证明。你需要打开一个支持 EAS 的前端(比如 easscan.org 对应的部署网络,或任何集成了 EAS SDK 的应用),连接 OKX 钱包,然后:

  1. 选择或注册 Schema。如果是已有 Schema,直接选它。

  2. 填写字段值。前端会根据 Schema 自动渲染出对应的输入框。string 就填文本,address 就填地址,uint256 就填数字。

  3. 指定 Recipient。这是证明的"接收方"地址,可以是别人,也可以是你自己。

  4. 确认 Revocable。Schema 注册时会设定"此 Schema 下的证明是否可撤销"。如果 Schema 本身设定为不可撤销,那你签发时无法改变这一点。

  5. 签名并提交。OKX 钱包弹出交易确认,你核对 gas 费和网络后签名。

EAS 证明是 soul-bound 的——它们不可转让、不可出售、不可交易,不需要 SBT 包装器。签出去就是签出去了,只能通过撤销来"作废"。

撤销:只有 Attester 能操作

撤销把证明的状态从 valid 改为 revoked,把 revoked 字段设为 true。只有签发这条证明的 Attester 地址才能撤销它。

操作路径有两条:

在 EASScan 上手动撤销。 如果你用的是 easscan.org 系的前端,打开那条证明的详情页,如果你是 Attester,页面上会出现 "revoke attestation" 按钮,点击后用 OKX 钱包签名确认即可。

通过命令行或 SDK。 easctl revoke --schema 0x... --uid 0x... 是 CLI 的方式。用 SDK 的话,eas.revoke({ uid: "0x..." }) 返回一笔交易,签名后上链。

撤销的前提是 Schema 注册时设置了 revocable: true。如果 Schema 是不可撤销的,你签发后没有任何办法作废它。

核验:怎么确认一条证明还有效

核验不是"看一眼就说真的"。你需要查链上状态。用 EAS SDK 的 getAttestation(uid) 拉取证明对象,里面有一个 revocationTime 字段。

  • revocationTime = 0:证明未被撤销。

  • revocationTime > 0:证明已被撤销,这个时间戳就是撤销发生的时刻。

同时检查 attester 字段是否是你信任的签发地址。一条 revocationTime = 0 但 attester 是一个你不认识的钱包签出来的证明,跟一条被撤销的证明一样没有价值。

欧易OKX交易所
全球领先的加密货币平台,适合新手与进阶交易者
新手福利:注册即享20% 交易手续费减免!

参考资料

  1. Ethereum Attestation Service·Create a Schema,页面未标明更新日期;核查日期:2026-10-12。
  2. EASScan·Schemas,页面未标明更新日期;核查日期:2026-10-12。
  3. EASScan·Schema #4190,页面未标明更新日期;核查日期:2026-10-12。
  4. EASScan·Schema #116 (Human Passport),页面未标明更新日期;核查日期:2026-10-12。
  5. EASScan·EAS区块浏览器首页,页面未标明更新日期;核查日期:2026-10-12。
  6. Rootstock Documentation·Navigating the EAS Dashboard,页面发布或更新日期:2026-05-27;核查日期:2026-10-12。
  7. NPM·@cellar-door/eas v0.1.0,页面发布或更新日期:2026-03-09;核查日期:2026-10-12。
  8. Ethereum Attestation Service·Revoking Attestations,页面未标明更新日期;核查日期:2026-10-12。
  9. NPM·easctl,页面发布或更新日期:2026-03-25;核查日期:2026-10-12。
  10. GitHub·ethereum-attestation-service/eas-sdk 仓库,页面发布或更新日期:2026-08-26;核查日期:2026-10-12。