Skip to content

near/near-api-rs

near-api

Reference Documentation Crates.io version Download Join the community on Discord Join the community on Telegram

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 with near-workspaces for testing purposes. This feature allows you to convert near-workspaces networks (such as sandbox, testnet, etc.) into a NetworkConfig and use near-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.

About

No description, website, or topics provided.

Resources

License

Apache-2.0, MIT licenses found

Licenses found

Apache-2.0
LICENSE-APACHE
MIT
LICENSE-MIT

Code of conduct

Security policy

Stars

Watchers

Forks

Packages

No packages published

Languages