#api-client #ipfs #client #api #api-secret #api-bindings #rivalz

bin+lib rivalz_client

A Rust client for interacting with the Rivalz API, allowing file uploads and retrieval of IPFS hashes

2 releases

0.1.2 Jun 20, 2024
0.1.1 Jun 20, 2024

#9 in #api-secret

MIT license

12KB
82 lines

RivalzClient

RivalzClient is a Rust client for interacting with the Rivalz API. This client allows you to upload files to IPFS and retrieve their IPFS hash.

Features

  • Upload files using multipart form data.
  • Retrieve the IPFS hash of uploaded files.
  • Robust error handling for network issues, server errors, and file accessibility.

Getting Started

Prerequisites

  • Rust (version 1.50 or later)
  • A Rivalz API secret token.

Installation

To use the RivalzClient library in your project, add the following to your Cargo.toml:

[dependencies]
rivalz_client = "0.1.0"

Usage

  1. Set your Rivalz API secret token as an environment variable:

    export SECRET_TOKEN="your_secret_token"
    
  2. Create an instance of RivalzClient and use it to upload a file:

    use rivalz_client::RivalzClient;
    
    fn main() {
        let client = RivalzClient::new(None);
        let file_path = "path/to/your/file.txt";
        
        match client.upload_file(file_path) {
            Ok(ipfs_hash) => println!("File uploaded successfully! IPFS hash: {}", ipfs_hash),
            Err(e) => eprintln!("Failed to upload file: {}", e),
        }
    }
    

Building from Source

To build RivalzClient from source, follow these steps:

  1. Clone the repository:

    git clone https://github.com/yourusername/rivalz-client.git
    cd rivalz-client
    
  2. Build the project:

    cargo build
    
  3. Run tests:

    cargo test
    

Publishing

To publish a new version of RivalzClient to crates.io, follow these steps:

  1. Update the version number in Cargo.toml.

  2. Login to crates.io:

    cargo login
    
  3. Publish the package:

    cargo publish
    

Contributing

We welcome contributions to RivalzClient! To contribute:

  1. Fork the repository.

  2. Create a new branch for your feature or bugfix:

    git checkout -b my-feature-branch
    
  3. Make your changes and commit them:

    git commit -am 'Add new feature'
    
  4. Push to the branch:

    git push origin my-feature-branch
    
  5. Create a new Pull Request on GitHub.

Submitting Issues

If you find a bug or have a feature request, please create an issue on GitHub.

Code of Conduct

This project adheres to the Contributor Covenant Code of Conduct. By participating, you are expected to uphold this code.

License

This project is licensed under the MIT License. See the LICENSE file for details.

Dependencies

~4–16MB
~219K SLoC