Introducing rusty-ao: a blazing fast SDK for ao

Introducing rusty-ao: a blazing fast SDK for ao

October 10, 2024

We are thrilled to announce the release of the first Rust SDK for ao: rusty-ao. This SDK was developed as a public good for the ao ecosystem, aligned with Decent Land Labs mission to create high-end developer tools for the Arweave ecosystem.

With rusty-ao, developers can integrate ao into Rust applications - spawn processes, get messages, and call ao functions from a fast and performant Rust environment.

What is AO?

The ao computer is the actor oriented machine that emerges from the network of nodes that adhere to its core data protocol, running on the Arweave network. The ao computer is a single, unified computing environment (a Single System Image), hosted on a heterogenous set of nodes in a distributed network. ao is designed to offer an environment in which an arbitrary number of parallel processes can be resident, coordinating through an open message passing layer. Read more about ao here

Why Rust?

We chose Rust for several key reasons, starting with the language’s features itself: memory safety, fearless concurrency, and zero-cost abstractions. Additionally, to enrich the ao developer ecosystem, Decent Land Labs decided to develop the first ao Rust SDK, as WeaveVM’s tech stack is closely aligned with Rust tooling.

Introducing rusty-ao

rusty-ao is the first ao client written in Rust, enabling Rust developers to interface natively with the ao computer. To start integrating ao into your Rust applications, simply add the rusty_ao crate to your project using:

cargo cli

Alternatively, you can manually add it to your project’s Cargo.toml file.

cargo toml

Working with rusty-ao

In the current release of rusty-ao, developers can spawn a new ao process, get messages, and perform dryrun of a process call. Let’s take a look at how a dryrun simulation works in rusty-ao:

ao dryrun

For more examples and code snippets, check out the rusty-ao repository on Github

Conclusion

The WeaveVM team, part of Decent Land Labs, is committed to shipping high-quality developer tooling for the Arweave ecosystem. So far, our contributions include Reth Execution Extensions, custom Reth precompiles, and now the Rust SDK for ao. To help us expand rusty-ao, submit a PR on GitHub!