How AEAs talk to each other - interaction protocols
Interaction protocols are possible communication scenarios between agents or agent components (specifically, skills and connections).
There are multiple types of interactions an AEA can have:
AEA to AEA interactions, as for instance demonstrated in the demo sections.
AEA internal interactions, between components of the framework.
Example 1: negotiation
In the generic buyer/seller skills the protocol
fetchai/fipa is used for maintaining the negotiation dialogue between two AEAs. The skills
fetchai/generic_seller are used to implement the handling and generating of individual messages and associated logic. The connection
fetchai/p2p_libp2p is used for connecting to the agent communication network.
Example 2: AEA <> web client
In the http connection and skill guide we demo how a skill (
fetchai/http_echo) can be used to process http requests received by a http server connection (
fetchai/http protocol is used for communication between the connection and skill.
Example 3 : AEA <> 3rd party server
fetchai/http_client connection can be used to make requests to third party servers. Alternatively, a third party SDK can be wrapped in a connection and shared with other developers as a package. Often, the developer will also create a custom protocol to enforce the type of interactions permitted with the SDK wrapped in such a connection.
We recommend you continue with the next step in the 'Getting Started' series:
Most AEA development focuses on developing the
Protocols necessary for an AEA to deliver against its economic objectives and implement interaction protocols.
Protocols is core to developing your own agent. You can learn more about the
Protocols agents use to communicate with each other and how they are created in the following section:
Most of an AEA developer's time is spent on
Skills are the core business logic components of an AEA. Check out the following guide to learn more:
In most cases, one of the available
Connection packages can be used. Occasionally, you might develop your own