在提供程序客户端中创建插件



我想在yagna上创建一个插件,在这个插件中,提供者只接受来自白名单请求者的任务,这些请求者使用私钥/公钥进行身份验证。

有什么文件吗?我该怎么做?工作流程如下:

  1. 请求程序在特定子网中发送任务(请求程序是否也需要插件,或者yagna-ids是唯一的?(
  2. 该子网上的提供者通过检查yagna id或其他不能伪造的任务信息来检查它是否是白名单请求者

我不完全确定我将如何格式化它,因为我不知道系统在幕后是如何工作的,所以如果我的工作流程太糟糕,任何建议都可能是必要的。

这是个好主意&这是可行的。

您可以根据请求者的id来区分他们。要获取节点的id(请求程序或提供程序(,只需运行yagna id list(yagna守护进程必须运行-yagna service run(。

可能最具挑战性的部分是修改CompositeNegotiatorReactToProposal处理程序。当前实现将Proposal(在此上下文中为Demand(强制转换为ProposalView。不幸的是,在这一点上CCD_ 8丢失了。出于测试目的,您可以直接在fn handle()中筛选请求者,并在想要阻止请求者时返回Ok(ProposalResponse::RejectProposal {....})。您感兴趣的领域是msg.demand.issuer_id

如果您想引入某种公钥/私钥对功能,可以通过添加请求者和提供者都能理解的自定义*需求/提供约束*来实现。不幸的是,目前还没有关于这个主题的公开文档。

如果您还有其他问题,请随时联系。

最新更新