Core components - Part 2
The AEA framework consists of several core elements, some of which are required to run an AEA and others which are optional.
The advanced elements AEAs use
In Core Components - Part 1 we discussed the elements each AEA uses. We will now look at some of the advanced elements each AEA uses.
Decision Maker
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 which has access to the Wallet
's private keys.
You can learn more about the decision maker here. In the simplest form, it acts like a Handler
with a Wallet
.
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 elements AEAs use
Contracts
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.
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:
Next steps
Recommended
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 aims. You can learn more about the Contracts
agents use in the following section: