注册一项服务
服务注册表无需许可。注册是你发布到网络的一个签名事件——没有申请,没有审核人,也没有人能拒绝你。接下来是协议所要求的内容,以及之后会发生什么。
从头到尾如何运作
- 1
运行服务
把你要提供的东西搭起来——一个 Telegram 网关、一个外汇预言机、一个快照主机、一个公开 API 节点。注册表宣传已存在的服务;它并不为它们供给资源。
- 2
建立你的身份
生成节点密钥对,并准备好一个用于签名的钱包。peer ID 从密钥对得出;公钥随其一起发布。
- 3
签署一个注册事件
汇集下方字段,用你的钱包签名,然后发布。事件通过 gossip 协议传播——没有注册员,没有队列,没有批准。
- 4
发布健康更新
提供方定期宣告在线、维护、降级或离线。客户端用它在你宕机时绕过你——而如果你完全停止发布,你的注册会自行过期并不再出现在发现中。
- 5
被选中
客户端查询其本地注册表,并按地区、延迟、能力和价格在提供方之间选择。被列出不等于被使用;你在与提供相同服务的所有其他人竞争。
一个注册事件包含什么
- 服务 ID
- 全局唯一且永久——更改端点或定价永远不会改变它(§8)。
- 服务类型
- 注册表诸类型之一。一个提供方可以运行多项服务,每项各有其自己的 ID。
- 提供方身份
- 上述钱包、节点身份、peer ID 和公钥。
- 网络端点
- 客户端在何处联系该服务。多个端点是正常的——每个地区一个。
- 支持的协议版本
- 以便客户端在尝试之前就能判断它是否能与你对话。
- 地理区域
- 你服务哪些地区,如果你愿意说的话。自我声明且未验证——协议中没有任何东西测量一项服务在何处,也永远不会:对端点进行地理定位会回答你的套接字在何处终结,而这与你服务谁是不同的问题。客户端看到它标注为已声明。
- 能力
- 该服务实际做什么——预言机的货币对、网关的渠道、快照的保留。
- 品牌
- 一个名称、一句话、一个图标和一个网站,全部可选。图标是 IPFS CID 而非 URL,因此查看者从他们自己的接入节点获取它,无人得知谁看了你的条目。名称不是独占的:注册表不会阻止别人注册你的名称,因此你的服务 ID 才是标识你的东西。
- 定价
- 如果你收费。可选,且作为元数据宣传,而非由注册表强制执行。
- 时间戳与签名
- 事件被签名并 gossip 到网络。没有任何东西需要提交给任何人。
你首先需要的身份
- 钱包地址
- 签署注册及此后每次更新。持有此密钥者控制该服务条目。
- 节点身份
- 你的节点用以发布自身的名称,重启后保持稳定。
- Peer ID
- 从你的节点密钥对派生。这是客户端拨号的对象,也是证明它联系到的是你而非某个宣传你主机名的人的东西。
- 公钥
- 公开发布,使任何人无需向你索要即可验证你的签名。
服务类型
- 通知Notification Provider
- 价格预言机Oracle Provider
- 风险情报Risk Intelligence Provider
- 快照Snapshot Provider
- 商家网关Merchant Gateway
- API 节点Public API Node
治理可能随时间增加类型。一个提供方可以运行多项服务;每项各获其自己的服务 ID。
无需质押,无需许可
注册表本身只要求一个签名。个别服务规范可能要求质押——一个数据会左右争议的风险情报提供方比快照主机有更多要负责的——但那由服务规定,而非由你所注册的注册表规定。