Build Apps with Rust

This guide will help you get started with Autonomi starting from scratch. This guide has 4 parts:

This has guide has been tested on MacOS, it should work on Linux or other unixes as well, but the commands might be slightly different for Windows (unless you are using WSLarrow-up-right).

Prerequisites

First let's install the required tools to get started:

Once all the above is ready, let's proceed to create a local testnet. For this testnet we will use the following Ethereum wallet which is the default address for our testnet.

The default private key and address (public key) for the testnet is:

SECRET_KEY=0xac0974bec39a17e36ba4a6b4d238ff944bacb478cbed5efcae784d7bf4f2ff80
ADDRESS=0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266

It owns all the money on the testnet, you can use it to play around with the testnet! Which we will do in the next steps. Don't send real money to this address!!

Create a local testnet

circle-info

An app is currently in development to make this a one-click process, but for now we need to run the testnet manually.

First let's clone the Autonomi repository:

Then to run the testnet, run the following command:

Keep the terminal open and running.

In a separate terminal, in the same directory (autonomi), run the following command:

You now have a local autonomi testnet running! Congrats! 🎉

Connect to the testnet with Rust

Let's create a Rust project that interacts with the testnet. First let's setup a working environment and add autonomiarrow-up-right as a dependency.

Your Cargo.toml should look something like this:

Open up src/main.rs in your favorite editor and add the following code:

In your terminal (in the autonomi-app directory), run the following command to compile and run the program:

You should see the following output:

Congrats! You've just connected to the testnet! 🎉

Upload and retrieve data with Rust

Next up let's upload some data to the testnet and retrieve it. We will be using the autonomi data API for this. Expanding upon our previous work, change the src/main.rs file to the following:

For private data, use the data_put and data_get methods instead!

Congrats! If you got this far, you are ready to start building apps that can store data on Autonomi! 🎉

Going further

The API offers many other tools to interact with the Network which you can find here: Autonomi API Docsarrow-up-right.

Cleanup and Troubleshooting

To stop and cleanup after a testnet, run the following commands to kill all the nodes, the evm testnet and delete all Autonomi related files

triangle-exclamation

If you are on Windows, the autonomi data folder is C:\Users\<username>\AppData\Roaming\autonomi. Note that the 3 programs above might end with .exe

For hackers

A ONE LINER I like to use to start a testnet (and the evm testnet too), and stop everything on CTRL+C:

This has to be run in the autonomi directory (the one we cloned in part 1).

Last updated