Using Arbitrum with Agents
How to interact with Arbitrum using Agents
In the previous tutorial we have seen how to use the GizaAgent
class to create a simple agent that can interact with the Ethereum blockchain. In this tutorial we will see how to use other chains with the GizaAgent
class.
As we rely on ape
to interact with the blockchain, we can use any chain that ape supports. The list of supported chains via plugins can be found here.
In this tutorial we will use Arbitrum
as an example. The Arbitrum
is a layer 2 solution for Ethereum that provides low cost and fast transactions. The Arbitrum
is supported by ape
and we can use it with the GizaAgent
class.
Before you begin
Python 3.11 or later must be installed on your machine
Giza CLI must be installed on your machine. You can install it by running
pip install giza-cli
Actions-SDK should be installed with the extra
agents
. You can install it by runningpip install giza-actions[agents]
You must have an active Giza account. If you don't have one, you can create one here.
You must have a model deployed on Giza. You can follow the tutorial Build a Verifiable Neural Network with Giza Actions to deploy a MNIST model on Giza.
During the tutorial, you will need to interact with the Giza CLI, Ape's framework, and provide multiple inputs, like
model-id
,version-id
,account name
, etc.You have to be logged in to the Giza CLI or have an API KEY.
Installing the required libraries
Let's start by installing the required libraries.
This will install the giza-actions
library along with the agents
extra, which contains the necessary tools to create an AI Agent.
Creating an account
Before we can create an AI Agent, we need to create an account using Ape's framework. We can do this by running the following command:
This will create a new account under $HOME/.ape/accounts
using the keyfile structure from the eth-keyfile library , for more information on the account management, you can refer to the Ape's framework documentation.
In this account generation we will be prompted to enter a passphrase to encrypt the account, this passphrase will be used to unlock the account when needed, so make sure to keep it safe.
We encourage the creation of a new account for each agent, as it will allow you to manage the agent's permissions and access control more effectively, but importing accounts is also possible.
Creating an AI Agent
Now that we have a funded account, we can create an AI Agent. We can do this by running the following command:
This command will prompt you to choose the account you want to use with the agent, once you select the account, the agent will be created and you will receive the agent id. The output will look like this:
This will create an AI Agent that can be used to interact with the deployed MNIST model.
Use Agents in Arbitrum
Let's start by installing the ape-arbitrum
plugin.
We can confirm if it has been installed by executing ape networks list
in the terminal.
Here we can see that we have multiple networks available, including arbitrum
. So now we can use it when instantiating the GizaAgent
class.
For this execution, we will use Arbitrum mainnet and use a private RPC node, this is because public nodes have small quotas that can easily be reached.
The contract is a verified contract selected at random from arbiscan, the mission is to showcase that we can read properties from this contract, which means that we could also be able to execute a write function.
In this case, as we are only executing a read function we don't need a funded wallet to do anything as we won't sign any transactions.
Remember that we will need to specify the <Account>_PASSPHRASE
if you are launching your operation as a script, exporting it will be enough:
If you are using it from a notebook you will need to launch the notebook instance from an environment with the passphrase variable or set it in the code prior to importing giza_actions
:
Now we can instantiate the agent:
Now that we have the agent instance we can enter the execute()
context and call the read function from an Arbitrum smart contract:
What we have learned
This tutorial taught us how to create an AI Agent and interact with Arbitrum.
For this, we needed to:
Install the arbitrum plugin
Check that the new network is available
Got a contract from arbiscan
Use an agent to execute a function from an arbitrum smart contract
Now these same steps can be followed to use any other network supported by ape
and interact with different chains.
Last updated