Skip to content

Core components - Part 2

The AEA framework consists of several core components, some required to run an AEA and others optional.

In Core Components - Part 1 we described the common components each AEA uses. In this page, we will look at more advanced components.

Required components used by AEAs

Decision Maker

Decision Maker of an AEA

The DecisionMaker can be thought of as a Wallet manager plus "economic brain" of the AEA. It is responsible for the AEA's crypto-economic security and goal management, and it contains the preference and ownership representation of the AEA. The decision maker is the only component with access to the Wallet's private keys.

You can learn more about the decision maker here. In its simplest form, the decision maker acts like a Wallet with Handler to react to messages it receives from the skills.

Wallet

The Wallet contains the private-public key pairs used by the AEA. Skills do not have access to the wallet, only the decision maker does.

Identity

The Identity is an abstraction that represents the identity of an AEA in the Open Economic Framework, backed by public-key cryptography. It contains the AEA's addresses as well as its name.

The identity can be accessed in a Skill via the AgentContext.

Optional components used by AEAs

Contracts

Contracts of an AEA

Contracts wrap smart contracts for third-party decentralized ledgers. In particular, they provide wrappers around the API or ABI of a smart contract. They expose an API to abstract implementation specifics of the ABI from the Skills.

Contracts usually contain the logic to create contract transactions and make contract calls.

Contracts can be added as packages. For more details on Contracts also read the Contract guide here.

Putting it together

Taken together, the core components from this section and the first part provide the following simplified illustration of an AEA:

Simplified illustration of an AEA

Next steps

We recommend you continue with the next step in the 'Getting Started' series:

Relevant deep-dives

Understanding the decision maker is vital to developing a goal oriented and crypto-economically safe AEA. You can learn more about the DecisionMaker in the following section:

Understanding Contracts is important when developing AEAs that make commitments or use smart contracts for other purposes. You can learn more about the Contracts agents use in the following section: