
The ao hyper-parallel computer hit the scene in February 2024 and is already making waves among developers worldwide. This innovative system takes inspiration from the actor model, enabling processes to run concurrently and communicate seamlessly without waiting for each other. Each processing unit within ao adheres to a core data protocol that runs onย Arweaveย blockchain-like decentralized storage solution. This distributed network of nodes creates a unified experience for users, presenting ao as a Single System Image (SSI).
The network of independent processors, called actors, collaborate by sending messages to each other. This eliminates the need for shared memory, making the AO computer incredibly scalable and efficient. Its asynchronous approach allows tasks to run simultaneously without waiting for each other to finish, significantly speeding up complex computations.

The network of nodes creates a Single Image System (SSI), making them virtually look like a single giant operating machine. This unified environment is powered byย Arweaveย blockchain-like protocol which leverages the true power of the computer.
The ao computer is made of the following key components:
Processes:ย the unit of computation in ao. They are represented by a log of interacting messages which are stored on Arweave. Similar to actors, processes hold a state, that can be calculated by the computing units (CUs). In addition, processes exchange messages between them.
Messages:ย all interactions between processes are called messages. And they are transferred between units via scheduler units (SUs).
Scheduler Units (SUs):ย these are in charge of assigning a slot numbering to the messages that are sent between processes. They also ensure that the data is stored on Arweave for permanent access
Compute Units (CUs): as mentioned before, the state of a process is calculated using Compute Units nodes, which compete to resolve the state. Once completed, the unit returns logs, outboxes and requests to start other processes.
Messenger Units (MUs): these units relay the messages around the ao network and they are responsible for sending the messages to the SU unit.
In summary, when a process sends a message, it first goes to the Messenger Unit. The user pays the MU in tokens or other assets to give it the task of finding the right Scheduler Unit in the distributed scheduler network, which can take any form, decentralized, state or even other blockchains. The SU is in charge of giving a sequence number to the message and uploading it to Arweave. Once uploaded, the SU will request the Compute Unit to fetch that same number from Arweave and resolve the state of the process, if another message is found, the process repeats.

The ao computation flow aims at eliminating the scalability issue around blockchains with the following characteristics:
Parallel processing:ย the actor model architecture allows units to process information independently, which does not apply to blockchains like Ethereum and Bitcoin.
No size limitation:ย processes efficiently handle massive datasets because they load data directly from Arweave and process it in-memory, before writing it back to the network. This makes them ideal for demanding computational tasks like artificial intelligence and machine learning.
Smart Contracts Automation:ย In other blockchains, the smart contracts are activated only when the user makes a request. In ao, smart contracts can be scheduled, and perform their functions at specific times
Modular architecture:ย A flexible computing environment with interchangeable parts like schedulers, message systems, and virtual machines. This lets existing smart contract platforms likeย Warpย join the network seamlessly. They can all work together for a smoother and more unified user experience.
The ao computer surges as a real competitor to Ethereum and other smart contract-powered blockchains. It enables collaborative computing, which opens the doors for new developers to build on it without scalability constraints.
The ao team has built very clearย documentationย on how to start your AOS process. My role here is to share the key commands for beginners and incentivize developers to explore the easiness of building in this new ecosystem. Before getting into the setup it is worth mentioning the following benefits of the AOS process:
Resilient:ย your server has no single location, eliminating vulnerability to physical attacks.
Permanent:ย your process will not disappear, it will save its holographic state on Arweave, which makes it ready to be picked and played with later. Besides there are no maintenance fees associated with it.
Permissionless:ย no need for registration. Arweave guarantees your right to use it.
Trustless:ย the state of the process is saved on Arweave, without having to trust the hardware it runs on. Allowing to build trustless services on top.
The AOS client runs on NodeJS, so you need to have version 20+ installed on your machine. You can find itย here.
Once done, you can install AOS with a straightforward command:
npm i -g https://get_ao.g8way.io
You should see something like this:

In the printcreen above you can see my aos process ID. Everyone using the ao computer will be assigned an ID, which is used to send messages between processes.
The AOS accepts commands in theย Luaย programming language which is relatively simple to learn, fast and lightweight. In the command line, we can assign a variable, just like we do in Python for instance:
my_process_id = "6uIxNRwXF9j1cunledXk1TUsxqNlwreD2g6e2k4Plb4"
If you call it, you get something like this:

This is a very basic command, however, under the hood, weโve just created a permanent variable stored on Arweave. Every time you connect to your process, you can simply call the variables youโve created beforehand.
Messages are the interactions between components, making them the core components for communication inside the ao computer. These are built usingย Luaย tables, which are data structures that hold multiple values. Theย Dataย is the field youโll see in all messages because it contains the content/payload.
We can start with theย Sendย function, that takes aย Targetย and theย Data. Letโs for instance send a message to the following process ID:
Trinity = "6JYFAOkRBMPhnuWSu1meAfui6wA2zJqPzcajImveXuQ"
To send a message we just need the following command:
Send({Target = Trinity, Data = "Hi Trinity, nice to meet you!"})
Most likely youโll receive a message in return. To check your messages you can open your inbox. Withย #Inboxย you can see how many messages you have. To open one, you can do:
Inbox[<index_of_message>].Data
You can also access other fields from the received message such as:ย Epoch,ย From, andย Nonce. Messages can also have tags, which are used in the fieldย Actionย of the message. For instance, if I create a chatroom with the tagsย Registerย andย Broadcasting. I can send messages as follows:
Send({ Target = ao.id, Action = "Register", Data = "I'm adding myself as a member to this chatroom!"})
or
Send({ Target = ao.id, Action = "Broadcasting", Data = "Sharing my message to anyone in this room"})
To learn how to create a chatroom with Lua, head to the following tutorial:
You can also learn how to make a token with its tags for people to handle it. Learn how here:
In this piece, we have covered the ao computerโs architecture and how its groundbreaking technology can be a competitor to other smart contract-powered blockchains that do not meet yet the required scalability, to thrive in the long term.
Youโve learned how to set up the AOS in your machine and understood how messages work on the ao computer. Theย Luaย programming language is key to creating more advanced use cases, however, interacting with AOS is easy and does not require extensive software knowledge.
The ecosystem is growing fast, with very little life there is already a decentralized exchange, where you can SWAP tokens calledย Bark. Aย stablecoinย for the ao computer anย oracleย and aย block explorer.
I believe that in 2024 many applications will surge using ao and Arweave, with the potential to be game changers in the web3 ecosystem. For now, you can join aoโsย Discordย channel, follow theย tutorialsย and start developing.

How to Upload Files on Arweave Withย Python
Throughout history, the need to store information has been crucial, both for individuals and organizations. Traditionally, paper documents and photographs were kept in physical folders and secured at home. The invention of computers revolutionized storage, transitioning from floppy disks to CDs, USBs, hard drives, and finally, solid-state drives. Recognizing the growing demand for data storage, the internet embraced cloud services, which emerged rapidly like mushrooms. Massive data centers, l...

Exploring Doug DeMuro's Cars Dataset
This analysis is part of a data challenge brought by Desights, a platform built by the Ocean Protocol to . If youโre not familiar with the latter, Ocean Protocol is paving the way for a new data economy using the power of blockchain. They provide several services, like earning and trading mechanisms, data challenges, and the Ocean Market, where datasets, reports, algorithms and more, can be published on Web3 decentralized storage infrastructures like Arweave and IPFS. Desights team is focused...

How I Built a Web Application to Draw Insights From Articles Across Web3 Publishing Platforms
Web3 publishing platforms are rising, and they bring new perks to the writing ecosystem. For instance, writers can sell their pieces as writing NFTs and receive cryptocurrencies in return. Web3 publishing platforms such as Mirror and Paragraph, solve some of the issues presented in the web2 counterparts. Platforms like Medium or Substack, canโt guarantee permanency for the articles, and they donโt solve the ownership issue. Web3 publishing platforms, rely on Arweave for instance, to save the ...
Where Data Science and AI, converge with Web3. Build ๐จ | Write โ๏ธ | Code ๐ป

The ao hyper-parallel computer hit the scene in February 2024 and is already making waves among developers worldwide. This innovative system takes inspiration from the actor model, enabling processes to run concurrently and communicate seamlessly without waiting for each other. Each processing unit within ao adheres to a core data protocol that runs onย Arweaveย blockchain-like decentralized storage solution. This distributed network of nodes creates a unified experience for users, presenting ao as a Single System Image (SSI).
The network of independent processors, called actors, collaborate by sending messages to each other. This eliminates the need for shared memory, making the AO computer incredibly scalable and efficient. Its asynchronous approach allows tasks to run simultaneously without waiting for each other to finish, significantly speeding up complex computations.

The network of nodes creates a Single Image System (SSI), making them virtually look like a single giant operating machine. This unified environment is powered byย Arweaveย blockchain-like protocol which leverages the true power of the computer.
The ao computer is made of the following key components:
Processes:ย the unit of computation in ao. They are represented by a log of interacting messages which are stored on Arweave. Similar to actors, processes hold a state, that can be calculated by the computing units (CUs). In addition, processes exchange messages between them.
Messages:ย all interactions between processes are called messages. And they are transferred between units via scheduler units (SUs).
Scheduler Units (SUs):ย these are in charge of assigning a slot numbering to the messages that are sent between processes. They also ensure that the data is stored on Arweave for permanent access
Compute Units (CUs): as mentioned before, the state of a process is calculated using Compute Units nodes, which compete to resolve the state. Once completed, the unit returns logs, outboxes and requests to start other processes.
Messenger Units (MUs): these units relay the messages around the ao network and they are responsible for sending the messages to the SU unit.
In summary, when a process sends a message, it first goes to the Messenger Unit. The user pays the MU in tokens or other assets to give it the task of finding the right Scheduler Unit in the distributed scheduler network, which can take any form, decentralized, state or even other blockchains. The SU is in charge of giving a sequence number to the message and uploading it to Arweave. Once uploaded, the SU will request the Compute Unit to fetch that same number from Arweave and resolve the state of the process, if another message is found, the process repeats.

The ao computation flow aims at eliminating the scalability issue around blockchains with the following characteristics:
Parallel processing:ย the actor model architecture allows units to process information independently, which does not apply to blockchains like Ethereum and Bitcoin.
No size limitation:ย processes efficiently handle massive datasets because they load data directly from Arweave and process it in-memory, before writing it back to the network. This makes them ideal for demanding computational tasks like artificial intelligence and machine learning.
Smart Contracts Automation:ย In other blockchains, the smart contracts are activated only when the user makes a request. In ao, smart contracts can be scheduled, and perform their functions at specific times
Modular architecture:ย A flexible computing environment with interchangeable parts like schedulers, message systems, and virtual machines. This lets existing smart contract platforms likeย Warpย join the network seamlessly. They can all work together for a smoother and more unified user experience.
The ao computer surges as a real competitor to Ethereum and other smart contract-powered blockchains. It enables collaborative computing, which opens the doors for new developers to build on it without scalability constraints.
The ao team has built very clearย documentationย on how to start your AOS process. My role here is to share the key commands for beginners and incentivize developers to explore the easiness of building in this new ecosystem. Before getting into the setup it is worth mentioning the following benefits of the AOS process:
Resilient:ย your server has no single location, eliminating vulnerability to physical attacks.
Permanent:ย your process will not disappear, it will save its holographic state on Arweave, which makes it ready to be picked and played with later. Besides there are no maintenance fees associated with it.
Permissionless:ย no need for registration. Arweave guarantees your right to use it.
Trustless:ย the state of the process is saved on Arweave, without having to trust the hardware it runs on. Allowing to build trustless services on top.
The AOS client runs on NodeJS, so you need to have version 20+ installed on your machine. You can find itย here.
Once done, you can install AOS with a straightforward command:
npm i -g https://get_ao.g8way.io
You should see something like this:

In the printcreen above you can see my aos process ID. Everyone using the ao computer will be assigned an ID, which is used to send messages between processes.
The AOS accepts commands in theย Luaย programming language which is relatively simple to learn, fast and lightweight. In the command line, we can assign a variable, just like we do in Python for instance:
my_process_id = "6uIxNRwXF9j1cunledXk1TUsxqNlwreD2g6e2k4Plb4"
If you call it, you get something like this:

This is a very basic command, however, under the hood, weโve just created a permanent variable stored on Arweave. Every time you connect to your process, you can simply call the variables youโve created beforehand.
Messages are the interactions between components, making them the core components for communication inside the ao computer. These are built usingย Luaย tables, which are data structures that hold multiple values. Theย Dataย is the field youโll see in all messages because it contains the content/payload.
We can start with theย Sendย function, that takes aย Targetย and theย Data. Letโs for instance send a message to the following process ID:
Trinity = "6JYFAOkRBMPhnuWSu1meAfui6wA2zJqPzcajImveXuQ"
To send a message we just need the following command:
Send({Target = Trinity, Data = "Hi Trinity, nice to meet you!"})
Most likely youโll receive a message in return. To check your messages you can open your inbox. Withย #Inboxย you can see how many messages you have. To open one, you can do:
Inbox[<index_of_message>].Data
You can also access other fields from the received message such as:ย Epoch,ย From, andย Nonce. Messages can also have tags, which are used in the fieldย Actionย of the message. For instance, if I create a chatroom with the tagsย Registerย andย Broadcasting. I can send messages as follows:
Send({ Target = ao.id, Action = "Register", Data = "I'm adding myself as a member to this chatroom!"})
or
Send({ Target = ao.id, Action = "Broadcasting", Data = "Sharing my message to anyone in this room"})
To learn how to create a chatroom with Lua, head to the following tutorial:
You can also learn how to make a token with its tags for people to handle it. Learn how here:
In this piece, we have covered the ao computerโs architecture and how its groundbreaking technology can be a competitor to other smart contract-powered blockchains that do not meet yet the required scalability, to thrive in the long term.
Youโve learned how to set up the AOS in your machine and understood how messages work on the ao computer. Theย Luaย programming language is key to creating more advanced use cases, however, interacting with AOS is easy and does not require extensive software knowledge.
The ecosystem is growing fast, with very little life there is already a decentralized exchange, where you can SWAP tokens calledย Bark. Aย stablecoinย for the ao computer anย oracleย and aย block explorer.
I believe that in 2024 many applications will surge using ao and Arweave, with the potential to be game changers in the web3 ecosystem. For now, you can join aoโsย Discordย channel, follow theย tutorialsย and start developing.

How to Upload Files on Arweave Withย Python
Throughout history, the need to store information has been crucial, both for individuals and organizations. Traditionally, paper documents and photographs were kept in physical folders and secured at home. The invention of computers revolutionized storage, transitioning from floppy disks to CDs, USBs, hard drives, and finally, solid-state drives. Recognizing the growing demand for data storage, the internet embraced cloud services, which emerged rapidly like mushrooms. Massive data centers, l...

Exploring Doug DeMuro's Cars Dataset
This analysis is part of a data challenge brought by Desights, a platform built by the Ocean Protocol to . If youโre not familiar with the latter, Ocean Protocol is paving the way for a new data economy using the power of blockchain. They provide several services, like earning and trading mechanisms, data challenges, and the Ocean Market, where datasets, reports, algorithms and more, can be published on Web3 decentralized storage infrastructures like Arweave and IPFS. Desights team is focused...

How I Built a Web Application to Draw Insights From Articles Across Web3 Publishing Platforms
Web3 publishing platforms are rising, and they bring new perks to the writing ecosystem. For instance, writers can sell their pieces as writing NFTs and receive cryptocurrencies in return. Web3 publishing platforms such as Mirror and Paragraph, solve some of the issues presented in the web2 counterparts. Platforms like Medium or Substack, canโt guarantee permanency for the articles, and they donโt solve the ownership issue. Web3 publishing platforms, rely on Arweave for instance, to save the ...
Where Data Science and AI, converge with Web3. Build ๐จ | Write โ๏ธ | Code ๐ป

Subscribe to Marco Rodrigues

Subscribe to Marco Rodrigues
Share Dialog
Share Dialog
<100 subscribers
<100 subscribers
No activity yet