10次重大发布

0.11.0 2024年6月17日
0.10.0 2024年3月27日
0.9.0 2024年1月16日
0.8.0 2023年12月9日
0.1.0 2022年1月6日

#1283 in 神奇豆子

Download history 1944/week @ 2024-04-17 2140/week @ 2024-04-24 1836/week @ 2024-05-01 1282/week @ 2024-05-08 1599/week @ 2024-05-15 2269/week @ 2024-05-22 1787/week @ 2024-05-29 1846/week @ 2024-06-05 3130/week @ 2024-06-12 3087/week @ 2024-06-19 3106/week @ 2024-06-26 3573/week @ 2024-07-03 1989/week @ 2024-07-10 2070/week @ 2024-07-17 3042/week @ 2024-07-24 3472/week @ 2024-07-31

10,867 每月下载量
用于 23 个crate(直接使用20个)

MIT/Apache

1MB
20K SLoC

Logo

starknet-rs

完整的Starknet库,使用Rust

starknet-version-v0.13.0 jsonrpc-spec-v0.7.1 linting-badge crates-badge

请注意,starknet-rs仍然是实验性的。在第一个稳定版本发布之前,将进行破坏性更改。目前,该库也未进行安全审计或审查。使用时请自行承担风险。

底层密码学库 starknet-crypto 不提供恒定时间保证。

将starknet-rs添加到您的项目

要从 crates.io 使用该crate,请在您的 Cargo.toml 文件中添加以下内容

[dependencies]
starknet = "0.11.0"

请注意,crates.io版本 可能已过时。您可能希望直接从GitHub使用该库以获取所有最新功能和修复

[dependencies]
starknet = { git = "https://github.com/xJonathanLEI/starknet-rs" }

功能

  • 序列器网关/喂食网关客户端
  • 完整节点JSON-RPC API客户端
  • 智能合约部署
  • 用于IAccount 账户合约的签名者
  • 从ABI生成强类型智能合约绑定代码

crates

此工作空间包含以下crates

  • starknet: 其他子crates的重导出(推荐)
  • starknet-core: 与Starknet交互的核心数据结构
  • starknet-providers:与 Starknet 节点和 sequencers 交互的客户端的抽象和实现
  • starknet-contract:用于部署和与 Starknet 智能合约交互的类型
  • starknet-crypto:Starknet 的 底层 密码学工具
  • starknet-signers:Starknet 签署实现
  • starknet-accounts:处理 Starknet 账户抽象的类型
  • starknet-curve:Starknet 曲线操作
  • starknet-macros:使用 starknet 包的实用宏

WebAssembly

starknet-rs 可以作为 WebAssembly 模块使用。请参阅 此示例

从 C++ 使用 starknet-rs

starknet-rs 可以从 C++ 作为动态或静态库使用。请参阅 此示例

性能

这些包的本地和 WebAssembly 目标的基准结果可用

有关自行运行基准测试的说明,请参阅 此处

示例

示例可以在 示例文件夹 中找到

  1. alpha-sepolia 测试网获取最新块

  2. 通过 UDC 将合约部署到 alpha-sepolia 测试网

  3. alpha-sepolia 测试网上为您自己发行 1,000 个 TST 代币

    请确保您的账户有一些 L2 Sepolia ETH 来支付交易费用。

  4. alpha-sepolia 测试网上声明 Cairo 1 合约

    请确保您的账户有一些 L2 Sepolia ETH 来支付交易费用。

  5. alpha-sepolia 测试网上声明 Cairo 0 合约

    请确保您的账户有一些 L2 Sepolia ETH 来支付交易费用。

  6. 使用 JSON-RPC 查询最新块号

  7. 调用合约视图函数

  8. 将 Argent X 账户部署到预付费地址

  9. 在服务器端解析 JSON-RPC 请求

  10. 检查已删除的特定提供程序错误类型

许可

根据您的选择,许可如下

依赖关系

~10–23MB
~366K SLoC