ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

如何调用 Anoma 的 Prove 接口运行 Nock 程序并获取 proof 结果?

如何调用 Anoma 的 Prove 接口运行 Nock 程序并获取 proof 结果? 如何调用 Anoma 的 Prove 接口运行 Nock 程序并获取 proof 结果【免费下载链接】anoma-archiveReference implementation of Anoma项目地址: https://gitcode.com/GitHub_Trending/an/anoma-archive如果你想在 Anoma 节点上运行一段 Nock 程序并拿回 proof 结果就需要走完整的 gRPC 调用链Anoma 节点本身只暴露基础 APIprove以及runNock这两个运行 Nock 代码的端点只在 Anoma 客户端上提供。整体架构是三方结构Your Client --- Anoma Client --- Anoma Node Full API Full API Prove RunNock即先启动一个节点再启动连接到该节点的 Anoma 客户端最后用 gRPC 客户端grpcurl 或 Postman向客户端的50051端口发出Prove请求。以下内容整理自本仓库的 USAGE.md文档示例会话运行在 Erlang/OTP 27、Elixir 1.17 上mix.exs 要求 Elixir~ 1.17。启动 Anoma 节点在 Anoma 项目的根目录打开 Elixir REPL 并启动节点。文档中的节点是ephemeral临时节点可以随时创建和销毁每次启动都是干净状态不保留之前的数据。iex -S mix进入 REPL 后执行node Anoma.Node.Examples.ENode.start_node()文档示例输出如下注意其中的grpc_port它是节点的 GRPC 端口后面的客户端要连到它%Anoma.Node.Examples.ENode{ grpc_port: 58447, pid: #PID0.318.0, node_id: 2615099 }你的grpc_port和node_id会不同记下这两个值。start_node的实现见 e_node.ex。启动 Anoma 客户端客户端有两条启动路径任选其一。主路径在同一 REPL 中启动在刚才启动节点的 REPL 里直接连接客户端监听端口固定为50051{:ok, client} Anoma.Client.connect(localhost, node.grpc_port, 50051, node.node_id)文档示例输出{:ok, %Anoma.Client{grpc_port: 50051, supervisor: #PID0.396.0, type: :grpc}}第二个参数传入上一步节点输出的grpc_port第四个参数传入node_id。可选分支用 escript 二进制启动如果你已经构建过 Anoma 项目的二进制mix do --app anoma_client escript.build可以在知道节点的主机名和端口的情况下直接启动客户端--node-port就是启动节点时得到的grpc_port--node-id就是node_id./apps/anoma_client/anoma_client --listen-port 50051 --node-host localhost --node-port 63796 --node-id 62831092 Connected to node. Listening on port 50051上面的63796和62831092是文档示例会话中的值替换为你自己节点的端口和 id。确认 Prove 所在的服务客户端起来后先确认 gRPC 端点可用。grpcurl是一个命令行 gRPC 工具安装方式见文档给出的说明也可以改用 Postman。列出根服务grpcurl -plaintext localhost:50051 list文档示例输出Anoma.Proto.IndexerService Anoma.Proto.IntentpoolService Anoma.Proto.NockServiceProve端点位于Anoma.Proto.NockService下。gRPC 消息结构由 proto 文件定义文档中路径为apps/anoma_protobuf/priv/protobuf/anoma.proto如果你用 Postman需要导入这个 protobuf 文件并把请求 URL 设为localhost:50051。构造并发送 Prove 请求一个 prove 请求包含三部分jammed_program程序、private_inputs私有输入、public_inputs公开输入。每一项既可以是 jammed Nock noun也可以是 Nock noun 的纯文本表示。文档给出的示例程序是一个 Juvix Squared 程序对输入求平方配合一个 jammed 私有输入。把下面的请求整体存入一个文件例如/tmp/my_input{ jammed_program: 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, private_inputs: [ { jammed: aA } ], public_inputs: [] }这个示例请求调用 Juvix 程序 Squared私有输入是3aA是 base64 编码的 jammed Nock noun没有公开输入文档说明该请求的程序结果为9两者都是 base64 编码的 jammed Nock noun。用 grpcurl 执行 Prove 并读取 proof请求文件保存好后执行grpcurl -plaintext -d localhost:50051 Anoma.Proto.NockService/Prove /tmp/my_input文档示例返回{ proof: kAQ }即Prove的响应是一个proof字段返回的 proof 值与上面一样是 base64 编码的 jammed Nock noun。用 Postman 走同一端点时把请求 URL 指向localhost:50051选择NockService下的Prove请求并填入同样的消息体即可导入 proto 文件后可以用其 example message 功能生成消息骨架。注意事项与边界Prove 只存在于客户端 APIAnoma 客户端的 API 与节点相同额外多出prove和runNock两个运行 Nock 代码的端点。直接向节点发 Prove 请求是走不通的必须经过客户端。节点是临时节点文档中的节点每次启动都是干净状态可以随时创建和销毁因此上面的grpc_port、node_id以当次启动的输出为准。端口约定客户端固定监听50051Anoma.Client.connect的第三个参数 / 二进制的--listen-port节点端口是随机的必须从启动输出中读取。请求字段jammed_program、private_inputs、public_inputs都可以是 jammed Nock noun 或 Nock noun 的纯文本表示gRPC 消息结构由 protobuf 文件定义。想继续了解节点 gRPC 端点的具体实现可以看 grpc 端点完整的用法上下文以 USAGE.md 为准。【免费下载链接】anoma-archiveReference implementation of Anoma项目地址: https://gitcode.com/GitHub_Trending/an/anoma-archive创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表