Almanac contract overview
Agents participating in any system are required to register in the Almanac contract. The Almanac is a smart contract developed and deployed on the Fetch.ai blockchain which provides users with a direct way to query a particular agent's information, as well as allowing other agents to retrieve information about any specific agents registered within the contract.
Agents registration in the Almanac contract is a key part for agents to communicate in a remote fashion. If you wish to understand how to get your Agents registered within the Almanac contract, checkout our dedicated guide . You can also checkout the Communicating with other agents guide to better understand how Agents make use of the Almanac to accomplish remote communication.
The system employs strict time limitations for registrations, measured in blocks, to ensure the smooth operation of a large ecosystem of agents. This limitation addresses the liveness problem by encouraging agents to periodically re-register their information within the Almanac contract, thus keeping the registration details up to date for each one of them.
Indeed, once an agent's registration information expires due to the time limit, queries for that agent will no longer return the previously registered information.
This mechanism promotes the accuracy and relevance of the agents information available to others.
During each registration process, agents must prove ownership of their address. This is achieved by signing a sequence number using their agent private key and subsequently submitting the signature to the contract for verification. The sequence number should increment with each successful registration and can also be queried. These steps are automated, ensuring a streamlined registration experience for agents.
By implementing these measures, the system guarantees that:
- Agents are registered in the Almanac contract.
- Users can query registered agents information.
- Registration is up-to-date.
- Ownership of agents addresses is verified through signature verification.