Skip to content

apache/incubator-resilientdb-rust_sdk

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

51 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Licensed to the Apache Software Foundation (ASF) under one

or more contributor license agreements. See the NOTICE file

distributed with this work for additional information

regarding copyright ownership. The ASF licenses this file

to you under the Apache License, Version 2.0 (the

"License"); you may not use this file except in compliance

with the License. You may obtain a copy of the License at

Unless required by applicable law or agreed to in writing,

software distributed under the License is distributed on an

"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY

KIND, either express or implied. See the License for the

specific language governing permissions and limitations

under the License.

ResilientDB Rust SDK

Build Crates.io License

Overview

The ResilientDB Rust SDK is a powerful Rust library that facilitates seamless interaction with resource databases. It offers comprehensive APIs for managing transactions and blocks, simplifying integration with systems requiring robust data management capabilities.

Features

  • Transaction Management: Create, retrieve, and manage transactions effortlessly.
  • Block Operations: Retrieve, group, and query information about blocks based on specified criteria.
  • Flexible Configuration: Tailor your interactions with resource databases using versatile configuration options.

Installation

Add this line to your Cargo.toml file to integrate the SDK into your Rust project:

[dependencies]
resilientdb_rust_sdk = "0.1.0"

Usage

// Import the ResDB SDK
use resilientdb_rust_sdk::ResDB;

// Create a new ResDB instance
let res_db = ResDB::new();

// Example: Create a new transaction object
let transaction = res_db.create_object::<YourTransactionType>();

// Example: Get all transactions from a specified API endpoint
let all_transactions = res_db.get_all_transactions::<YourTransactionType>("https://api.example.com").await;

Examples

// Example: Retrieve all blocks from a specified API endpoint
let all_blocks = res_db.get_all_blocks::<T>("https://api.example.com/blocks").await;

// Example: Group blocks with a specified batch size
let grouped_blocks = res_db.get_blocks_grouped::<T>("https://api.example.com/blocks", &100).await;

Contributing

Contributions are welcome! If you encounter any issues or have suggestions for improvements, please open an issue or submit a pull request.

License

This SDK is licensed under the Apache-2.0 License.

Acknowledgments

  • Special thanks to contributors.
  • This SDK leverages the power of serde for serialization and deserialization.