#frame #ethereum #wallet #networking #omnichain

frame_rs

使用 Rust 编写的 Frame 钱包客户端,可编程地更改 Frame 的 Omnichain 设置的提供者网络

3 个版本

0.1.2 2024 年 3 月 11 日
0.1.1 2024 年 2 月 22 日
0.1.0 2024 年 2 月 21 日

#2739 in 神奇豆子

Download history 28/week @ 2024-03-28 30/week @ 2024-04-04

每月 175 次下载

MIT 许可证

15KB
76 代码行

Frame-rs

frame-rs 是一个 Rust 库,旨在简化与 Frame 以太坊钱包的交互。它提供了一个简单直观的异步 API,通过 Frame 的 JSON-RPC 接口切换以太坊网络并执行以太坊区块链操作,利用 Frame 的安全性和用户友好性来管理账户和签署交易。

特性

  • 网络切换:在 Frame 中编程切换连接的以太坊网络。
  • 以太坊操作:使用 Frame 管理的账户简化了常见以太坊操作的界面,如发送交易和与智能合约交互。
  • 异步/等待支持:使用异步 Rust 功能构建,用于非阻塞 I/O 操作。

要求

  • Rust 1.39 或更高版本。
  • 访问 Frame 的 JSON-RPC 接口(通常通过 localhost)。

安装

frame-rs 添加到您的 Cargo.toml

[dependencies]
frame-rs = "0.1.2"

快速入门

以下是一个使用 frame-rs 的快速示例

use frame_rs::client::FrameClient;
use ethers::types::U256;
use anyhow::Result;

#[tokio::main]
async fn main() -> Result<()> {
    // Initialize the Frame client
    let client = FrameClient::new(U256::from(1), None).await?; // Ethereum Mainnet

    // Switch to Arbitrum One
    let arbitrum_chain_id = U256::from(42161);
    client.switch_network(arbitrum_chain_id).await?;

    println!("Successfully switched to Arbitrum One.");
    Ok(())
}

用法

创建客户端

要开始与 Frame 交互,创建一个 FrameClient 实例

    use frame_rs::client::FrameClient;
    use ethers::types::U256;

    #[tokio::main]
    async fn main() {
      let chain_id = U256::from(1); // Example for Ethereum Mainnet
      let client = FrameClient::new(chain_id, None).await.expect("Failed to create FrameClient");
    }

切换网络

要切换连接的网络

    use frame_rs::client::FrameClient;
    use ethers::types::U256;

    #[tokio::main]
    async fn main() {
      let new_chain_id = U256::from(42161); // Example for Arbitrum One
      let client = FrameClient::new(U256::from(1), None).await.expect("Failed to create FrameClient");
      client.switch_network(new_chain_id).await.expect("Failed to switch network");
    }

更多操作

frame-rs 旨在支持更多的以太坊钱包操作。请继续关注更多功能!

许可证

frame-rs 根据 MIT 许可证授权 - 请参阅 LICENSE 文件获取详细信息。

依赖项

~27–42MB
~796K SLoC