Aleo Testnet III: a developer’s gateway to the future

HEORHII YABLONSKYI
3 min readDec 19, 2023

I am Heorhii, and I am thrilled to guide you through the revolutionary space of Aleo Testnet III. While it’s not production-ready yet, this trusted testnet serves as a playground for developers, offering a sneak peek into the decentralized future. Before we dive in, note that rigorous auditing and testing are in the pipeline before it reaches production.

snarkOS: the decentralized operating system

At the core of Aleo’s infrastructure lies snarkOS, a decentralized operating system tailored for anonymous web applications. It empowers developers to checkpoint and finalize application states in a publicly-verifiable manner. This backbone is open-source and hosted on GitHub, inviting collaboration and exploration.

Querying the network

Connecting to Aleo Testnet III

To interact with Aleo Testnet III, developers can make requests to a designated bootnode. The API is organized around REST, providing a familiar and flexible interface.

Launching a local instance. Utilizing a local instance of snarkOS, developers can seamlessly launch a client node. The API becomes accessible at 0.0.0.0:3033.

  • Command:
snarkos start --client --nodisplay

Dockerizing the experience. For streamlined deployment, Docker offers a quick solution. By initializing a Docker container, developers can interact with the API effortlessly.

  • Command:
docker run -it --name snarkos --hostname snarkosc -p 4133:4133 -p 3033:3033 --mount type=bind,source="$(pwd)",target=/aleo/data aleohq/snarkos:latest /aleo/bin/snarkos start --client --nodisplay

This initializes a container called snarkos and maps the container port 3033 to 3033 on your system. Once the client is initialized, you can access the API as usual (http://0.0.0.0:3033/testnet3/latest/height).

You can close the container with ctrl + c and restart it with:

docker start -a snarkos

API exploration. The Aleo Testnet III API provides an array of endpoints, facilitating various interactions with the network. Here’s a glimpse of some key endpoints:

  • Latest Height: /testnet3/latest/height
  • Latest Hash: /testnet3/latest/hash
  • Latest Block: /testnet3/latest/block
  • Latest State Root: /testnet3/latest/stateRoot
  • Get Block: /testnet3/block/{height_or_hash}
  • Get Blocks: /testnet3/blocks?start={start_height}&end={end_height}
  • Get Height: /testnet3/height/{blockHash}
  • Get Block Transactions: /testnet3/block/{height}/transactions
  • Get Transaction: /testnet3/transaction/{transactionID}
  • Get Memory Pool Transactions: /testnet3/memoryPool/transactions
  • Get Program: /testnet3/program/{programID}
  • Get Mapping Names: /testnet3/program/{programID}/mappings
  • Get Mapping Value: /testnet3/program/{programID}/mapping/{mappingName}/{mappingKey}
  • Get State Path for Commitment: /testnet3/statePath/{commitment}
  • Get Beacons: /testnet3/beacons
  • Get Peers Count: /testnet3/peers/count
  • Get Peers All: /testnet3/peers/all
  • Get Peers All Metrics: /testnet3/peers/all/metrics
  • Get Node Address: /testnet3/node/address
  • Find Block Hash: /testnet3/find/blockHash/{transactionID}
  • Find Transaction ID from Program ID: /testnet3/find/transactionID/deployment/{programID}
  • Find Transaction ID from Transition ID: /testnet3/find/transactionID/{transitionID}
  • Find Transition ID: /testnet3/find/transitionID/{inputOrOutputID}
  • Get Environment Information: /testnet3/node/env
  • Transaction Broadcast: POST /testnet3/transaction/broadcast

…and many more. Refer to the API documentation for an exhaustive list.

Conclusion. Aleo Testnet III opens a portal for developers to explore, innovate, and lay the groundwork for the decentralized future. As subsequent testnets undergo a trusted setup process, the Aleo ecosystem continues to evolve, inviting developers to shape the landscape of decentralized applications.

To know more, join now!
Aleo Twitter
Aleo Discord
Aleo Website

Prepared by Colliseum

--

--