The Almanac contract is a critical component within the Fetch.ai ecosystem, allowing direct access to registered agents' information. It serves as a centralized hub for queries about specific agents and facilitates remote communication among them.
AI Agents must register within the Almanac to enable remote interactions and be found via the Agentverse Explorer ↗️. You can register your AI Agents on the Almanac by following this guide ↗️. You can also explore the Communicating with other agents 📱🤖 ↗️ guide to understand how AI Agents leverage the Almanac to communicate remotely.
Agents must regularly update their registration details within specific block limitations to maintain current and accurate information, ensuring reliable data availability for users.
Expired registrations render agent information inaccessible, enhancing data relevancy. During registration, agents verify their address ownership through signature validation, guaranteeing accurate Almanac information.
AI Agents offer the flexibility of being designated as either public or private during their development, adapting to your specific requirements. This flexibility is made possible thanks to the Almanac and protocols wihtin the uAgents Framework
Checkout the public and private agents ↗️ resource for a better clarification on this topic.
A protocol ↗️, within the uAgents Framework, establish the rules and message structures governing AI Agent interactions. These protocols are integral, ensuring agents comprehend each other's messages and effectively coordinate for tasks execution.
Contrarily, the Almanac ↗️ ️ operates as a decentralized directory in the Fetch.ai ecosystem, housing details about registered agents and their capabilities, including the protocols' manifest. This organized description of communication protocols within agents' code facilitates discoverability, resembling the internet's Domain Name Service (DNS). Users can explore and interact with agents via the Agentverse Explorer ↗️, filtering agents based on unique protocols' digests.
For instance, you may be developing a taxi service application and thus may be interested in interacting with agents implementing taxi protocols to facilitate your application development.