ootle.rs
High-performance, familiar interaction with the Tari Ootle (Layer 2) network.
ootle.rs is a pure Rust library designed to be the standard interface for interacting with Tari Ootle. It is
architected to mirror the interface of alloy-rs, providing a seamless developer
experience for those transitioning from Ethereum or generic blockchain development to the Tari ecosystem.
✨ Features
- Alloy-like API: Uses the familiar
Provider,Signer, andTransportarchitecture found inalloy. - Ootle Native: First-class support for Tari Ootle
- Type-Safe: Strongly typed interactions with Tari's confidential assets.
- Async/Await: Built on
tokiofor high-performance, non-blocking I/O.
📦 Installation
Add this to your Cargo.toml:
[]
= "0.1.0"
🚀 Quick Start
Connect to a local Ootle indexer, create a wallet, and send a transaction.
use ;
use Network;
use TARI_TOKEN;
async
🏗 Architecture
ootle.rs follows the modular design of alloy:
- Core: Defines the primitive types (Addresses, Signatures, Confidential Commitments) specific to Tari.
- Transport: Handles communication with Ootle Indexers and Validator Nodes (VNs).
- Provider: The high-level API for sending requests and managing state.
- Signer: Abstractions for signing transactions (support for Ristretto keys).
🤝 Contributing
We welcome contributions! Please see CONTRIBUTING.md for details on how to get started.
📄 License
This project is dual-licensed under either: Apache License, Version 2.0, (LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0) MIT license (LICENSE-MIT or http://opensource.org/licenses/MIT) at your option.
"To the Ootle!" 🦉