Complete Starknet library in Rust™
Note that
starknet-rs
is still experimental. Breaking changes will be made before the first stable release. The library is also NOT audited or reviewed for security at the moment. Use at your own risk.The underlying cryptography library
starknet-crypto
does NOT provide constant-time guarantees.
To use the crate from crates.io, add the following to your Cargo.toml
file:
[dependencies]
starknet = "0.11.0"
Note that the crates.io version might be outdated. You may want to use the library directly from GitHub for all the latest features and fixes:
[dependencies]
starknet = { git = "https://github.com/xJonathanLEI/starknet-rs" }
This workspace contains the following crates:
starknet
: Re-export of other sub-crates (recommended)starknet-core
: Core data structures for interacting with Starknetstarknet-providers
: Abstraction and implementation of clients for interacting with Starknet nodes and sequencersstarknet-contract
: Types for deploying and interacting with Starknet smart contractsstarknet-crypto
: Low-level cryptography utilities for Starknetstarknet-signers
: Starknet signer implementationsstarknet-accounts
: Types for handling Starknet account abstractionstarknet-curve
: Starknet curve operationsstarknet-macros
: Useful macros for using the starknet
cratesstarknet-core-derive
: Derive macros for traits in starknet-core
starknet-rs
can be used as a WebAssembly module. Check out this example.
starknet-rs
from C++starknet-rs
can be used as a dynamic or static library from C++. Check out this example.
Benchmark results for native and WebAssembly targets are available for these crates:
For instructions on running the benchmark yourself, check here.
Examples can be found in the examples folder:
Mint yourself 1,000 TST tokens on alpha-sepolia
Make sure your account has some L2 Sepolia ETH to pay for the transaction fee.
Declare Cairo 1 contract on alpha-sepolia
testnet
Make sure your account has some L2 Sepolia ETH to pay for the transaction fee.
Declare legacy Cairo 0 contract on alpha-sepolia
testnet
Make sure your account has some L2 Sepolia ETH to pay for the transaction fee.
Licensed under either of
at your option.