Alert Source Discuss
⚠️ Draft Standards Track: ERC

ERC-7617: Web3 URL 中 ERC-5219 模式的 Chunk 支持

在 ERC-5219 解析模式中,添加获取由多个 chunk 组成的 Web3 URL 资源的能力

Authors Qi Zhou (@qizhou), Nicolas Deschildre (@nand2)
Created 2024-02-08
Discussion Link https://ethereum-magicians.org/t/erc-5219-resolve-mode/14088
Requires EIP-5219, EIP-6944

摘要

ERC-6860 web3:// 标准的上下文中,此 ERC 扩展了 ERC-6944 解析模式:此标准定义了一个新的可选 web3-next-chunk HTTP 头部,由 request() 调用返回,其中包含一个指向资源数据的下一个数据 chunk 的 web3:// URL。 Chunk 被流式传输到 web3:// 客户端,并且循环直到 web3-next-chunk 头部不再存在。

动机

以太坊 RPC 端点具有 gas 限制,当服务大型内容时可能会达到该限制。 通过添加分块功能,我们增加了服务任意大小内容的可能性。

规范

ERC-6944 解析模式中,此标准引入了新的可选 web3-next-chunk HTTP 头部,该头部将在 ERC-6944 中定义的 request () 方法的 headers KeyValue 数组中返回。

头部的值可以是完整的 web3:// URL,也可以是相对的 URL。目标智能合约必须使用 ERC-6944 解析模式。

当处理初始 request() 调用的结果时,该协议立即将 HTTP 状态代码、HTTP 头部和正文返回给 web3:// 客户端。 如果存在 web3-next-chunk 头部,则解析该 URL。 如果 URL 无效,或者目标智能合约未使用 ERC-6944 解析模式,则 HTTP 数据流传输以错误结束。 否则,它将调用 request() 方法,忽略返回的 statusCode,将 body 数据作为下一个数据 chunk 发送,如果再次存在 web3-next-chunk 头部,则循环直到不再存在。

理由

选择使用指向下一个 chunk 的头部,因为它不需要更改 ERC-6944 request() 接口,并且在头部中使用 web3:// URL 为提供下一个 chunk 的方式增加了灵活性。

安全注意事项

未发现任何安全注意事项。

版权

CC0 下放弃版权及相关权利。

Citation

Please cite this document as:

Qi Zhou (@qizhou), Nicolas Deschildre (@nand2), "ERC-7617: Web3 URL 中 ERC-5219 模式的 Chunk 支持 [DRAFT]," Ethereum Improvement Proposals, no. 7617, February 2024. [Online serial]. Available: https://eips.ethereum.org/EIPS/eip-7617.