Welcome

Getting Started

In less than 5 mins, we'll walk you through the process of taking your first peek into the rabbit hole. 🕳️🐇

System requirements.

The local client of aos is super simple to install. Just make sure you have:

  • NodeJS version 20+. (If you haven't yet installed it, check out this page to find instructions for your OS).
  • A code editor of your choice.

Installing aos.

Once you have NodeJS on your machine, all you need to do is install aos and run it:

npm i -g https://get_ao.g8way.io

After installation, we can simply run the command itself to start a new aos process!

aos

You authenticate yourself to your aos process using a keyfile. If you have an Arweave wallet you can specify it by adding a --wallet [location] flag. If you don't, a new keyfile will be generated and stored locally for you at ~/.aos.json.

Welcome to the rabbit hole.

The utility you just started is a local client, which is ready to relay messages for you to your new process inside the ao computer.

After it connects, you should see the following:

          _____                   _______                   _____
         /\    \                 /::\    \                 /\    \
        /::\    \               /:::\    \               /::\    \
       /:::\    \             /::::\    \             /:::\    \
      /::::\    \           /::::::\    \           /::::\    \
     /::/\::\    \         /::/~~\::\    \         /::/\::\    \
    /::/__\::\    \       /::/    \::\    \       /::/__\::\    \
   /:::\   \::\    \     /::/    / \::\    \      \::\   \::\    \
  /::::\   \::\    \   /::/____/   \::\____\   ___\::\   \::\    \
 /::/\::\   \::\    \ |::|    |     |::|    | /\   \::\   \::\    \
/::/  \::\   \::\____\|::|____|     |::|    |/::\   \::\   \::\____\
\::/    \::\  /::/    / \::\    \   /::/    / \::\   \::\   \::/    /
 \/____/ \::\/::/    /   \::\    \ /::/    /   \::\   \::\   \/____/
          \::::/    /     \::\    /::/    /     \::\   \::\    \
           \:::/    /       \::\__/::/    /       \::\   \::\____\
           /::/    /         \::::::/    /         \::\  /::/    /
          /::/    /           \::::/    /           \::\/::/    /
         /::/    /             \:::/    /             \::::/    /
        /::/    /               \::/____/               \:::/    /
        \::/    /                 ~~                      \::/    /
         \/____/                                           \/____/

ao Operating System

aos - 1.4.1
2024 - Type ".exit" to exit
aos process:  1xM1_lDZ428sJHpTX7rtcR6SrDubyRVO06JEEWs_eWo

aos>

Welcome to your new home in the ao computer! The prompt you are now looking at is your own personal server in this decentralized machine. We will be using it to play with and explore ao in the rest of this tutorial.

Sending your first command.

Your new personal aos process is a server that lives inside the computer, waiting to receive and execute your commands.

aos loves to make things simple, so it wants to hear commands from you in the Lua programming language. Don't know Lua? Don't panic! It is a super straightforward, friendly, and fun language. We will learn it as we progress through this series.

Let's break the ice and type:

aos> "Hello, ao!"

Then hit the "Enter" key. You should see your shell sign and post the message, request the result, then print the result as follows:

"Hello, ao!"

Eh. What's the big deal?

Sent it a message to your process, permanently etched it into Arweave, then asked a distributed compute network to calculate its result.

While the result might not look revolutionary, in reality you have done something quite extraordinary. Your process is a decentralized server that doesn't exist in any one particular place on Earth. It exists as data, replicated on Arweave between many different machines, distributed all over the world. If you wanted to, you could now attach a new compute unit to this process and recreate the state from its log of inputs (just your single command, for now) -- at any time in the future.

This makes your new shell process...

  • Resilient: There is no single place on Earth where your server actually resides. It is everywhere and nowhere -- immune from physical destruction or tampering of any kind.
  • Permanent: Your process will never dissappear. It will always exist in its ✨holographic state✨ on Arweave, allowing you to recall it and continue playing with it. A contribution has been made to Arweave's storage endowment, so that you never have to think about upkeep or maintainance payments again.
  • Permissionless: You did not have to register in order to start this server. Your right to use it is guaranteed by its underlying protocol (Arweave), no matter what Google, Amazon, or any other BigTech company says.
  • Trustless: The state of your server is mathematically guaranteed. This means that you -- and everyone else -- can trust it with certainty, without even having to trust the underlying hardware it runs on. This property lets you build trustless services on top: Code that runs without any priveliged owner or controller, ruled purely by math.

There is so much more to it, but these are the basics. Welcome to the ao computer, newbie! We are grateful to have you. 🫡

Next Steps

In the tutorials that follow, we will explore ao and build everything from chatrooms to autonomous, decentralized bots. Let's go!


Copyright © 2024