Helios 是一个完全无需信任、高效且可移植的以太坊轻客户端,使用 Rust 编写。
Helios 将不受信任的中心化 RPC 端点转换为安全且不可篡改的本地 RPC,供其用户使用。它可以在几秒钟内完成同步,无需存储空间,并且足够轻巧,可以在移动设备上运行。
这个 Swift Package 是 Helios Rust 库的包装器。
将 package declaration 添加到您的项目 manifest dependencies 数组中
.package(url: "https://github.com/rkreutz/HeliosKit.git", from: "0.1.0")
您可以使用以下代码启动客户端:
let rpcURL = // URL to the unsafe RPC
try await Helios.shared.start(rpcURL: rpcURL)
请记住,任何时候只能运行一个客户端。
一旦客户端启动并运行,您就可以开始对其进行 RPC 调用,它将监听 127.0.0.1:8545
。
您也可以使用该库通过以下方式调用 RPC 方法:
let (data, _) = try await Helios.shared.call(method: "eth_getBalance", params: ["0x407d73d8a49eeb85d32cf465507dd71d507100c1", "latest"])
let response = String(data: data, encoding: .utf8)!
print(response) // {"jsonrpc":"2.0","result":"0x0000000000000000000000000000000000000000000000000000000000000000","id":...}
要优雅地关闭客户端,请使用 shutdown()
方法
await Helios.shared.shutdown()
您可以在运行时使用环境变量 (RUST_LOG
) 启用 Rust lib 的日志记录。该库使用 Rust 的 env_logger
框架,因此您可以根据需要设置所需的日志级别。
仓库中有一个 build_xcframework.sh
脚本,可以用来为 helios rust 库 构建 xcframework
,这将创建 XCFramework 并将其(连同 Swift 桥接文件和校验和)放置在 .build/helios-rs/build
目录中。您可以指定您想要构建的版本,并为脚本提供一个额外的参数来构建 debug
或 release
框架。
> zsh build_xcframework.sh 0.1.3 debug # .build/helios-rs/build/0.1.3/debug/helios.xcframework
> zsh build_xcframework.sh 0.1.3 # .build/helios-rs/build/0.1.3/debug/helios.xcframework
> zsh build_xcframework.sh debug # No version specified, defaults to latest
> zsh build_xcframework.sh # No version specified, defaults to latest
要能够编译测试目标,您必须创建一个 Config.swift
文件(您可以直接复制并重命名 Config.swift.example
),并添加您用于主网的 RPC URL。
您可以选择性地提供 rawTransaction
数据来测试 sendRawTransaction(_:)
。