如何通过 RPC 连接到 Hedera 测试网?​

2023-12-09

我无法通过 HTTP 连接到 Hedera Testnet RPC 端点, 可靠地,我间歇性地收到以下“未知错误”: ​

[Request ID: fe7b9928-a23f-0d72-61a1-b7cd23658c01] Unknown error invoking RPC

​ 我使用以下 RPC 端点进行连接: ​

https://testnet.hashio.io/api

​ 是否有替代(更可靠)的方式连接到 Hedera 测试网? ​


连接 Hedera 测试网有 3 个选项:

  • Hashio
  • Arkhia
  • 运行你自己的hedera-json-rpc-relay实例于localhost

以上按升序排列困难水平, 和递增的顺序可靠性水平。 不幸的是,为了提高可靠性,您需要做更多的工作。

目前,您正在使用 Hashio, 我推测您可能受到费率限制; 或者此服务的负载水平可能高于平常 导致它丢弃一些传入的请求。 因此我建议你改用Arkhia, 看看这是否适合你(很可能会)。 如果你真的想尽量减少对集中服务, 或需要debug单独的 RPC 请求, 您可以考虑在本地运行您自己的 RPC 中继实例。


RPC 端点选项

Hashio

这是一个“公共”RPC 端点,由 Swirlds Labs 托管, 开发 Hedera 的是同一个组织。 因此,它是免费使用的,不需要任何注册, 并且对向其发出的请求也有最严格的速率限制。 这使得它易于使用,但不太可靠。

要通过 Hashio 连接到 Hedera 测试网, 只需在初始化钱包/ web3 提供程序实例时使用此 URL:

https://testnet.hashio.io/api

这就是所需要的一切 - 不需要进一步的设置/配置

Arkhia

这是由第三方组织运营的, 并且有一些付费组件,以及免费套餐。 因此,它只能免费使用到一定程度, 并需要此后注册。 它对向其发出的请求的速率限制较少。 这使得它在易用性方面处于平均水平, 并且比使用公共 RPC 端点更可靠。

要通过 Arkhia 连接到 Hedera 测试网, 初始化钱包/ web3 提供程序实例时使用此 URL:

https://pool.arkhia.io/hedera/testnet/json-rpc/v1/YOUR_API_KEY

为了得到YOUR_API_KEY,您将需要执行以下先决步骤:

  • (1) 注册账号auth.arkhia.io/signup
  • (2) 单击确认电子邮件中的链接
  • (3) Click on the "create project" button in the top-right corner of the Arkhia dashboard arkhia-init-step-03.png
  • (4) Fill in whatever you like in the modal dialog that pops up arkhia-init-step-04
  • (5) Click on the "Manage" button on the right side of your newly created project arkhia-init-step-05
  • (6) In the project details, copy the "API Key" field, and the "JSON-RPC" field as well (in case it is different from what I've pasted above). arkhia-init-step-06-07
  • (7) 在 RPC URL 中使用 API 密钥 - 完成!

本地主机上的 hedera-json-rpc-relay

这是由您在自己的计算机上运行的。 (去中心化是为了胜利!) 因此,它可以不受限制地免费使用(您自己的硬件除外)。 它不需要注册, 但设置它还需要几个额外的步骤, 并且需要开发人员技能/命令行技能才能开始工作。

通过您自己的实例连接到 Hedera Testnethedera-json-rpc-relay, 初始化钱包/ web3 提供程序实例时使用此 URL:

http://localhost:7546

注意7546是该项目的默认端口号, 如果您愿意,您可以在其配置中更改它。

为了运行此服务,您需要执行以下先决步骤:

  • (1)克隆git项目
git clone [email protected]:hashgraph/hedera-json-rpc-relay.git
  • (2) 创建或编辑名为.env在此项目的根目录中,设置以下字段:
HEDERA_NETWORK=testnet
OPERATOR_ID_MAIN=YOUR_OPERATOR_ID
OPERATOR_KEY_MAIN=YOUR_OPERATOR_KEY
CHAIN_ID=0x128
MIRROR_NODE_URL=https://testnet.mirrornode.hedera.com/
  • (3) Visit the Hedera Portal, and create a Testnet account localhost-init-step-03
  • (4) Copy-paste the confirmation code sent to your email localhost-init-step-04
  • (5) Fill out this form localhost-init-step-05
  • (6) In the top-left select between Hedera Testnet (default) and Hedera Previewnet localhost-init-step-06
  • (7A) From the next screen that shows your accounts, from the "Account Ed25519" section, copy the value of "DER encoded private key", and replace YOUR_OPERATOR_KEY in the .env file with it localhost-init-step-07a
  • (7B) Alternatively, from the "Account ECDSA" section, copy the value of the "HEX encoded private key", and replace YOUR_OPERATOR_KEY in the .env file with it localhost-init-step-07n
  • (8) 在同一屏幕中,复制“帐户 ID”的值,然后替换YOUR_OPERATOR_ID in the .env用它归档
  • (9) Run npm install安装依赖项。建议您使用 NodeJs 版本18或稍后为此。
  • (10) 运行npm run start启动 RPC 中继服务器。

配置的完整参考hedera-json-rpc-relaydocs/configuration.md.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何通过 RPC 连接到 Hedera 测试网?​ 的相关文章

  • RPC实践(四)Dubbo实践

    Dubbo是一款重要的RPC框架 它是Alibaba开源的分布式服务框架 它主要特点 提供了注册中心来进行服务的管理 支持zookeeper redis等方式来实现注册中心 Dubbo按照分层的方式来架构 使用这种方式可以使各个层之间解耦合
  • 使用RPC对某者web端骑行数据进行爬取

    使用RPC技术hook web端JS 骑行app某者web端爬虫 2022 2 1 获取轨迹ID 通过更改年月 可以发现获取每个月轨迹ID 的方式 这个非常简单 只需要拷贝请求头headers就可以直接获取 2 获取轨迹详情 可以发现三个请
  • 【手撕RPC服务分几步】

    手撕RPC服务分几步 前言 什么是RPC 从被调用方 provider 来说 从调用方 consumer 来说 扩展思考 dubbo架构图 前言 本文试图通过手撕RPC的理论步骤来帮助我们更好的理解其特性 也更好的理解像Dubbo sofa
  • 深入浅出 RPC - 深入篇

    深入篇 我们主要围绕 RPC 的功能目标和实现考量去展开 一个基本的 RPC 框架应该提供什么功能 满足什么要求以及如何去实现它 RPC 功能目标 RPC 的主要功能目标是让构建分布式计算 应用 更容易 在提供强大的远程调用能力时不损失本地
  • 什么是RPC并实现一个简单的RPC

    1 基本的RPC模型 主要介绍RPC是什么 基本的RPC代码 RPC与REST的区别 gRPC的使用 1 1 基本概念 RPC Remote Procedure Call 远程过程调用 简单的理解是一个节点请求另一个节点提供的服务 本地过程
  • go 进阶 go-zero相关: 七. 拦截器与熔断拦截器

    目录 一 拦截器的基础使用 1 服务端拦截器 2 客户端拦截器 二 拦截器底层底层执行原理 三 go zero默认添加的拦截器 客户端 1 熔断器拦截器 BreakerInterceptor 服务端 一 拦截器的基础使用 在go zero
  • AVRO 中的数据验证

    我是 AVRO 新手 如果这是一个简单的问题 请原谅 我有一个使用 AVRO 模式进行记录调用的用例 假设我有 avro 架构 name abc namepsace xyz type record fields name CustId ty
  • RPC有超时机制吗?

    如果 RPC 没有超时机制 当 RPC 调用尝试调用已关闭的服务器的 RPC 方法时 如何 杀死 它 您可以使用channels实现超时模式 import time c make chan error 1 go func c lt clie
  • go-zero开发入门之网关往rpc服务传递数据2

    go zero 的网关服务实际是个 go zero 的 API 服务 也就是一个 http 服务 或者说 rest 服务 http 转 grpc 使用了开源的 grpcurl 库 当网关需要往 rpc 服务传递额外的数据 比如鉴权数据的时候
  • 序列化和封送处理有什么区别?

    我知道就几种分布式技术 例如 RPC 而言 使用了术语 编组 但不明白它与序列化有何不同 它们不是都将对象转换为一系列位吗 Related 什么是序列化 https stackoverflow com questions 633402 wh
  • Kubernetes,无法通过 DNS 挂载 NFS 共享

    我正在尝试通过 DNS 查找在我的容器中安装 NFS 共享 k8s 集群外部 我的配置如下 apiVersion v1 kind Pod metadata name service a spec containers name servic
  • 如何解决grpc Deadline Exceeded错误?

    我有用go和python客户端编写的grpc服务器 有时会出现如下错误 eggs grpcio 1 0 0 py2 7 linux x86 64 egg grpc channel py line 432 in end unary respo
  • PHP 的同步 AMQP

    PHP 能否像 RPC 服务一样对待 AMQP 发送消息并阻塞直到返回回复 是否有任何好的示例 是否有任何库以易于使用的方式包装此类功能 我希望拥有代理消息传递系统的灵活性 但避免 Web 层需要了解其异步性质 当然 绝对 看看 RPC 风
  • 从 Node.JS 调用 Haskell

    我想从 Node js 对 Haskell 代码进行 RPC 调用 Node 和 Haskell 都有哪些库 我只能找到 XML RPC 和 Zeromq 但它们似乎不稳定 对于 Haskell 端的 xml rpc haxr 库已经存在很
  • 有没有好的、简单的用于进程间调用的 RPC 库? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • MessagePack:快速跨平台序列化器和RPC - 请分享经验

    寻找一些我偶然发现的快速 简单且稳定的 RPC 库消息包 http msgpack org 项目看起来非常好 它也正在积极开发中 如果您以任何方式使用它 可以分享一下您的经验吗 附 我认为这个问题应该是社区维基 好吧 过了一段时间 我发现
  • 在 Hedera 区块链中创建智能合约时出现错误“Transaction Oversize”

    我的 bin 文件大小只有 18kb 我还得到了使用 IPFS 的解决方案 但不知道如何使用它 如果有任何使用 IPFS 的参考 请分享给我 错误 PrecheckStatusError 交易 电子邮件受保护 cdn cgi l email
  • gwt - 在 RPC 调用中使用 List

    我有一个 RPC 服务 方法如下 public List
  • QObject 通用信号处理程序

    信号处理程序 是指插槽 而不是 POSIX 信号的处理程序 我需要 连接 可能不会 using QObject connect直接地 所有信号从 QObject 的 未知 子类的实例到一个单槽另一个 QObject 的 我需要这个才能通过网
  • 在 Vista 上调用 RPC 时出现“不支持操作”

    我的应用程序使用 Microsoft RPC 进行进程间通信 当两个进程在同一台机器上运行并且一个进程尝试调用声明为 IDL 表示法 的方法时 error status t rpcMethod in pipe byte parameter

随机推荐

  • 在哪里可以找到并下载不同版本的 mscorwks.dll 和 mscordacwks.dll?

    我试图习惯使用 WinDbg 在能够获取故障转储时对其进行故障排除 但每次我这样做时 它似乎都会要求我提供不同版本的 mscorwks dll 和 mscordacwks dll 而我不这样做并不总是能够访问转储来源的机器 除了告诉最终用户
  • IOException 无法解析为类型错误

    在我的 Java 期末考试中 我们有一个关于 try catch 和 finally 调用的测试 异常 部分 当我尝试将示例代码放入 Eclipse 中时 我在 catch 和 throw 新区域中遇到错误 所有错误都显示 无法解析为类型
  • 通过主题自定义 Woocommerce 中的产品类别面包屑链接

    我正在尝试修改class wc breadcrumb php自定义我的产品页面面包屑中的产品类别链接 该文件位于 wp content plugins woocommerce includes 我尝试将子主题中的此文件复制并编辑为 wp c
  • 如何在ruby中仅在内存中创建zip文件?

    我想创建给定目录中所有 HTML 文件的 zip 文件 该 zip 文件将作为附件与目录中的其余文件一起通过电子邮件发送 到目前为止 如果我从 pony 发送任何附件是 HTML 文件 我尝试过的所有电子邮件客户端都无法阅读电子邮件 所以我
  • python中的//=有什么作用? [复制]

    这个问题在这里已经有答案了 我正在阅读http learnpythonthehardway org book ex37 html但我不明白是什么 符号确实如此 我感觉合理 a 9 a 3 a 3 gt True But a 9 a 3 a
  • 使用 igraph 中的 graph.tree 函数绘制树

    在 igraph 包的文档中有一个示例 igraph options plot layout layout reingold tilford plot graph tree 20 2 输出应将数据表示为树 但我得到的是 您显然需要指定根 l
  • 如何避免回调与 Promise 的嵌套结构? [完成的]

    我使用承诺来避免回调创建的嵌套结构 然而在这段代码中我仍然有一些嵌套 我做错了什么还是在这种情况下这是不可避免的 在这种情况下 我想检查并查看配置文件是否存在 如果不存在 我想创建它 DB getProfile id google then
  • 文章类别:加载顺序重要吗?

    我一直在网上搜索 试图找到我的问题的答案 但似乎找不到直接的答案 我在工作中经常使用文章类 但从来没有真正需要知道它们是否按顺序加载 即页面上首先出现的内容 Example div class example1 example2 examp
  • 有没有办法在 VSTS 发布管理中执行嵌套变量

    我在变量组中创建了一些具有以下名称的变量 CodeNetworkShare Dev CodeNetworkShare Test CodeNetworkShare Prod 我在发布定义中导入了这个变量组 然后我尝试了以下方法在发布定义中使用
  • 将 coxph 摘要从 R 导出到 csv

    如何将 cox proportional 危险模型的摘要从 R 导出到 csv 我通过函数 coxph 进行了测试 通过生存包 现在我想将其摘要导出到 csv 该怎么做 c lt coxph Surv x y summary c 我认为你需
  • 如何在 blazor 页面上使用 usermanager?

    你好社区我有一个问题如何使用usermanager in a blazor页面网络组装 通过注入 inject UserManager
  • 将未知编码的TXT文件转换为字符串

    如果编码类型未知 如何将纯文本 txt 文件转换为字符串 我正在开发一项功能 允许用户将 txt 文件导入到我的应用程序中 这意味着该文件可以在任意数量的应用程序中创建 使用对纯文本文件有效的各种编码中的任何一种 我的理解是这可能包括 AS
  • stopPropagation 阻止显示引导程序的对话框

    我在 div 内有一个按钮 div div
  • 预期的标识符、字符串或数字

    我有一个像这样的对象 var defaults id ActionSlider element closeBtnWidth 55 panelWidth 320 class css create function 当我以 IE8 标准运行页面
  • 替换长 URL 的一部分并重定向

    有没有办法重定向 URL 如下所示 URL是基于过滤系统生成的 所以它是这样的 https example com product category no slash generated part is autoadded here 由于产
  • 给定一个视图,我如何获取它的viewController?

    我有一个指向UIView 我如何访问它UIViewController self superview 是另一个UIView 但不是UIViewController right 来自UIResponder的文档nextResponder UI
  • 以编程方式触发时 UIRefreshControl 不刷新

    我试图在视图加载时显示刷新控件 以表明我正在从 Parse 获取数据 刷新控件在应用程序运行时正常工作 但我无法让它从应用程序中的任何位置以编程方式触发 这是似乎没有运行的代码 override func viewDidAppear ani
  • 在 PHP 代码中以密件抄送方式添加电子邮件地址

    我正在尝试弄清楚如何在密件抄送中添加电子邮件地址 由于我添加了更多 headers 来添加盲电子邮件地址 因此整个代码不再起作用
  • Google App Engine 数据存储中的地理空间查询

    我读了下面的帖子 使用 Objectify 查询 Geopt 这正是我的应用程序所需要的 在帖子的最后 我读到地理空间搜索正在阿尔法体育场 但该帖子已经一年了 我在 Google App Engine 上找不到有关地理空间查询状态的任何信息
  • 如何通过 RPC 连接到 Hedera 测试网?​

    我无法通过 HTTP 连接到 Hedera Testnet RPC 端点 可靠地 我间歇性地收到以下 未知错误 Request ID fe7b9928 a23f 0d72 61a1 b7cd23658c01 Unknown error in