如何使用Ruby连接到以太坊网络

  • QuickNode
  • 发布于 2025-02-22 17:14
  • 阅读 215

本文介绍了如何使用Ruby语言的eth.rb库连接到以太坊网络,包括安装步骤和编写脚本获取最新区块号的方法。

概述

Ruby 编程语言拥有庞大的粉丝群体。Ruby 是由其创作者开发的,目的是发明一种开发者可以享受学习和使用的语言。自推出以来,Ruby 已被全球开发者广泛接受,实际上,许多城市中最大的技术社区由 Ruby 开发者组成。在本指南中,我们将学习如何使用一个名为 eth.rb 的 Ruby gem(或包)连接到以太坊网络。

通过使用 eth.rb,我们可以从任何 Ruby 应用程序直接对节点进行 JSON RPC 调用。eth.rb 还拥有其官方 GitHub 仓库中列出的许多其他功能:

"...构建、签署和广播以太坊交易。它允许密钥和节点管理的分离。可以在任何可以运行 Ruby 的地方签署交易和处理密钥,并通过任何本地或远程节点广播交易。签署消息并恢复签名以进行身份验证。"来源

在本指南中,我们将深入了解如何安装和与该包交互,通过在本地设置它并从我们的节点检索区块高度。让我们开始吧!

先决条件

  • Ruby 版本 >= 2.6, < 4.0
  • 一个代码编辑器
  • 终端即命令行

安装 Eth Gem

在安装 gem 之前,我们首先要确保 Ruby 已安装。只需打开终端并运行:

ruby -v

如果返回的版本高于 2.6,那么你就准备好了!如果该命令未被识别,你将需要安装 Ruby。如果识别,但版本低于 2.6,你将需要使用较新版本。注意:macOS 自带的 Ruby 版本通常是苹果自己的使用,最好不要更改它。你可以对该版本进行更改,但我们建议使用 rbenvRVM(Ruby 版本管理器)来管理一个单独的 Ruby 版本,该版本将安装在你主目录的沙盒中。你可以随意更改该版本,而不必担心更改系统的 Ruby 版本。有关更多信息,请阅读 来自 mac.install 的外部指南

一旦你准备好继续,我们可以安装 eth gem。此 gem 将允许我们使用 Ruby 语言连接到以太坊区块链网络。我们可以通过 RubyGems 包管理器从命令行安装它:

gem install eth

开始使用 QuickNode

要在以太坊上构建,你需要一个 API 端点与其网络进行通信。如果你希望自己部署、托管和管理自己的基础设施,可以跳过此部分。如果你希望我们来处理繁重的工作,你可以在 QuickNode.com 注册一个免费帐户。

创建一个端点

注册后,创建一个在以太坊网络上运行的端点。然后,导航到“开始使用”选项卡并复制 HTTP 提供程序链接:

Quicknode 端点开始页面的截图,包含 HTTP 链接和 WSS

我们将使用这个链接连接到以太坊网络。

整合所有内容

现在,我们将使用 eth gem 以及我们的 QuickNode 端点创建一个简短的脚本,用于使用我们的节点获取最新的区块号。

通过你的终端或直接在文件系统中创建一个新文件 script.rb。如果你选择使用终端,可以使用以下命令:

echo > script.rb

在你选择的代码编辑器中打开 script.rb 并添加以下代码:

require 'eth'
client = Eth::Client.create 'YOUR_ETHEREUM_NODE_URL'
block_number = client.eth_block_number
puts block_number["result"].to_i(16)

YOUR_ETHEREUM_NODE_URL 替换为上面步骤中的 HTTP 提供程序。

让我们分解一下代码:

  • 行 1:我们正在导入之前安装的 eth gem。
  • 行 3:我们正在创建一个新的以太坊 RPC 客户端,传入我们的以太坊节点 URL。有关更多信息,请访问官方 eth.rb GitHub 仓库
  • 行 4:我们正在使用 eth_block_number 方法获取最新的以太坊区块号,并将其存储在 block_number 中。
  • 行 5:我们在打印区块号。请注意,返回的结果是十六进制格式,因此我们使用 to_i(16) 函数将其转换为整数,基数为 16。

运行脚本

通过在终端运行以下命令执行该脚本:

ruby script.rb

运行此命令后,你将在下一行看到最新的以太坊区块号。就这样!我们成功地使用 Ruby 连接到了以太坊网络。

区块号的终端输出

结论

订阅我们的 时事通讯 获取更多文章和指南。如有任何反馈,请随时通过 Twitter 联系我们。你还可以随时在我们的 Discord 社区服务器中与我们聊天,那里有一些你见过的最酷的开发者 :)

我们 ❤️ 反馈!

让我们知道 如果你有任何反馈或新主题的请求。我们很乐意听到你的声音。

  • 原文链接: quicknode.com/guides/eth...
  • 登链社区 AI 助手,为大家转译优秀英文文章,如有翻译不通的地方,还请包涵~
点赞 0
收藏 0
分享
本文参与登链社区写作激励计划 ,好文好收益,欢迎正在阅读的你也加入。

0 条评论

请先 登录 后评论
QuickNode
QuickNode
江湖只有他的大名,没有他的介绍。