( 太长不看版: – 使用下面的链接注册来获得您自己的API密钥,以提高您的应用程序性能 )
当使用由API服务商(例如Alchemy,Etherscan 或 INFURA)支持的Provider时, 他们都需要一个API密钥,从而能够跟踪每个项目及其使用和权限。
ethers.js 库 为上述的API服务商提供了默认的API密钥,因此每个Provider都可以轻松地连接————开箱即用。
这些API密钥是由后端服务作为社区资源提供的,用于低流量项目和早期原型开发。
因为这些API键是由所有用户共享的(没有获得自己的API密钥),所以它们被经常被使用,这意味着重新请求发生得更频繁,响应也更慢。
强烈建议你从下列的API服务商注册一个免费的API密钥,这有很多好处(可能有些差别,这取决于具体的API服务商):
- 更高的请求速率和并发请求限制
- 更快的响应,更少的重连和超时
- 在用于性能调优和分析客户行为具有更优秀的指标追踪
- 更高级的api,例如归档数据或高级日志查询
Etherscan 是以太坊区块资源管理器,它可能是最有用的构建和调试以太坊应用程序的开发工具。
Etherscan提供了大量的 API endpoints 集合, 包含了所有能够用来与以太坊区块链交互的操作。
优点:
- 更高的速率限制 (因为没有 共享速率限制)
- 客户使用指标
INFURA服务已经存在相当一段时间了,鲁棒性强、可靠性高,强烈推荐。
它们提供了一个标准的JSON-RPC接口和一个WebSocket接口,这使得与标准工具的交互更加通用、简单和直接。
优点:
- 更高的速率限制
- 客户使用指标
- 访问归档数据 (需要付费升级)
Alchemy服务已经有几年的历史了,它也具备强鲁棒性和高可靠性。
它们提供了一个标准的JSON-RPC接口和一个WebSocket接口,以及一组用于与通证(tokens)交互和帮助调试的高级API。
优点:
- 更高的速率限制
- 客户使用指标
- 能够访问高级通证余额和元数据API
- 能够进行高级调试跟踪和恢复reason APIs
Benefits:
- 客户使用指标
- 使用去中心化区块链基础设施
- 入股而不是按月付费
- 受加密经济激励的高度冗余的全局节点集合
默认的提供者连接到多个后端,并在内部验证它们的结果,这使得对第三方服务的高度信任变得很简单。
第二个可选参数允许为每个内部创建的Provider指定API keys,任何被遗漏的API keys将返回使用该服务的默认API keys。
极度推荐 您为每个服务提供一个API,让您的应用程序性能实现最大化。