6 releases (breaking)
new 0.5.0 | Mar 17, 2025 |
---|---|
0.4.0 | Dec 19, 2024 |
0.3.0 | Nov 19, 2024 |
0.2.1 | Oct 25, 2024 |
0.1.0 | Oct 4, 2021 |
#527 in Magic Beans
90 downloads per month
265KB
4K
SLoC
near-api
The near-api
is a simple Rust library that helps developers interact easily with the NEAR blockchain. The library was highly inspired by the API of the near-cli-rs
library. The library extensively utilizes builder patterns, this way we guide the users through the user flow, preventing most of the errors and focusing on each step.
Currently, the library provides:
- Account management
- Contract deployment and interaction
- NEAR, FT, NFT transfers
- Storage deposit management
- Stake management
- Ability to create custom transactions
- Several ways to sign transactions (secret key, seed phrase, file, ledger, secure keychain).
- Account key pool support to sign the transaction with different user keys to avoid nonce issues.
The minimum required version for full feature support is located in the rust-version field of the Cargo.toml
file. However, it can still be compiled and used without the keystore
feature on older versions of Rust.
Features
ledger
: Enables integration with a Ledger hardware signer for secure key management.keystore
: Enables integration with a system keystore signer for managing keys securely on the local system.workspaces
: Provides integration withnear-workspaces
for testing purposes. This feature allows you to convertnear-workspaces
networks (such as sandbox, testnet, etc.) into a NetworkConfig and usenear-workspaces
Account
object as a signer for testing and development.
Current issues
The library is in good condition, but lacks a few points to be even better:
- documentation
- good quality examples
- integration tests for all API calls
- CI
- anyhow -> thiserror
- ledger is blocking and it's not good in the async runtime
- secure keychain is not that straightforward to use
- storage deposit manager for FT calls
- basic logging with tracing for querying/signing/sending transactions
- self-sustainable. remove the
nearcore
as a dependency (#5)
Examples
The crate provides examples that contain detailed information on using the library.
Dependencies
~32–57MB
~897K SLoC