catenis_api_client

Crates.iocatenis_api_client
lib.rscatenis_api_client
version3.0.1
sourcesrc
created_at2021-01-04 20:25:09.695611
updated_at2022-11-14 16:00:30.267298
descriptionCatenis API client library for the Rust programming language
homepage
repositoryhttps://github.com/blockchainofthings/CatenisAPIClientRust
max_upload_size
id331800
size1,212,026
(claudio-bcot)

documentation

https://docs.rs/catenis_api_client

README

Catenis API Client for Rust

This library is used to make it easier to access the Catenis API services from code written in the Rust programming language.

Note: this release of the library targets version 0.12 of the Catenis API.

Documentation

The complete library documentation can be found here.

Usage

To start using the library, one needs to instantiate a new CatenisClient object. Then, to make a call to an API method, just call the corresponding method on the client object.

Example

use catenis_api_client::{
    CatenisClient, ClientOptions, Environment, Result,
};

// Instantiate Catenis API client object
let mut ctn_client = CatenisClient::new_with_options(
    Some((
        "drc3XdxNtzoucpw9xiRp",
        concat!(
            "4c1749c8e86f65e0a73e5fb19f2aa9e74a716bc22d7956bf3072b4bc3fbfe2a0",
            "d138ad0d4bcfee251e4e5f54d6e92b8fd4eb36958a7aeaeeb51e8d2fcc4552c3"
        ),
    ).into()),
    &[
        ClientOptions::Environment(Environment::Sandbox),
    ],
)?;

// Call Read Message API method
let result = ctn_client.read_message("o3muoTnnD6cXYyarYY38", None)?;

println!("Read message result: {:?}", result);

Notification

The library also makes it easy for receiving notifications from the Catenis system through its WsNotifyChannel data structure, which embeds a WebSocket client.

Asynchronous processing

The library allows for asynchronous processing using the Tokio runtime.

To activate asynchronous processing, the async feature must be enabled.

catenis_api_client = { version = "3.0", features = ["async"] }

The asynchronous version of the client can then be accessed from the async_impl module.

Example

use catenis_api_client::{
    async_impl,
    ClientOptions, Environment, Result,
};

// Instantiate asynchronous Catenis API client object
let mut ctn_client = async_impl::CatenisClient::new_with_options(
    Some((
        "drc3XdxNtzoucpw9xiRp",
        concat!(
            "4c1749c8e86f65e0a73e5fb19f2aa9e74a716bc22d7956bf3072b4bc3fbfe2a0",
            "d138ad0d4bcfee251e4e5f54d6e92b8fd4eb36958a7aeaeeb51e8d2fcc4552c3"
        ),
    ).into()),
    &[
        ClientOptions::Environment(Environment::Sandbox),
    ],
)?;

Catenis API Documentation

For further information on the Catenis API, please reference the Catenis API Documentation.

License

This library is distributed under the terms of both the MIT License and the Apache License (Version 2.0).

Copyright © 2021-2022, Blockchain of Things Inc.

Commit count: 79

cargo fmt