2 releases
0.1.2 | Jun 20, 2024 |
---|---|
0.1.1 | Jun 20, 2024 |
#9 in #api-secret
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
-
Set your Rivalz API secret token as an environment variable:
export SECRET_TOKEN="your_secret_token"
-
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:
-
Clone the repository:
git clone https://github.com/yourusername/rivalz-client.git cd rivalz-client
-
Build the project:
cargo build
-
Run tests:
cargo test
Publishing
To publish a new version of RivalzClient to crates.io, follow these steps:
-
Update the version number in
Cargo.toml
. -
Login to crates.io:
cargo login
-
Publish the package:
cargo publish
Contributing
We welcome contributions to RivalzClient! To contribute:
-
Fork the repository.
-
Create a new branch for your feature or bugfix:
git checkout -b my-feature-branch
-
Make your changes and commit them:
git commit -am 'Add new feature'
-
Push to the branch:
git push origin my-feature-branch
-
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