@alloralabs/game-allora-plugin
v0.1.2
Published
The [Allora Network](https://allora.network) plugin seamlessly empowers G.A.M.E agents with real-time, advanced, self-improving AI inferences, delivering high-performance insights without introducing any additional complexity.
Keywords
Readme
Allora Plugin for Virtuals Game
The Allora Network plugin seamlessly empowers G.A.M.E agents with real-time, advanced, self-improving AI inferences, delivering high-performance insights without introducing any additional complexity.
Features
- Get price inferences for various assets and timeframes
- Get all available topics on Allora Network
- Fetch inferences by topic ID
Available Functions
getPriceInference: Fetches the price inference for the specified asset and a timeframegetAllTopics: Retrieves all available topics on Allora NetworkgetInferenceByTopicId: Fetches the latest inference for a specific topic
Installation
To install the plugin, use npm or yarn:
npm install @alloralabs/game-allora-pluginor
yarn add @virtuals-protocol/game-allora-pluginUsage
Importing the Plugin
First, import the AlloraPlugin class from the plugin:
import AlloraPlugin from "@virtuals-protocol/game-allora-plugin";Setup environment variables
Set the following environment variables:
ALLORA_API_KEY: Create an API key by creating an account.ALLORA_CHAIN_SLUG(Optional): Must be one of:mainnet,testnet. Default value:testnet
Creating a Worker
Create a worker with the necessary Allora API client config:
const alloraPlugin = new AlloraPlugin({
apiClientConfig: {
chainSlug: process.env.ALLORA_CHAIN_SLUG as ChainSlug, // Should be one of "testnet" or "mainnet". Default: "testnet"
apiKey: process.env.ALLORA_API_KEY, // Default key: UP-17f415babba7482cb4b446a1
},
});Creating an Agent
Create an agent and add the worker to it:
import { GameAgent } from "@virtuals-protocol/game";
const agent = new GameAgent("GAME_API_KEY", {
name: "Allora Worker",
goal: "Retrieve the price of ETH in 5 minutes.",
description: "You are an AI agent able to fetch price inferences and topic inferences from Allora Network.",
workers: [alloraPlugin.getWorker({})],
});Running the Agent
Initialize and run the agent:
(async () => {
await agent.init();
while (true) {
await agent.step({
verbose: true,
});
}
})();