What is the Open Economic Framework (OEF)? The 'Open Economic Framework' (OEF) is a node that enables search, discovery and communicate with possible clients or services.

You can read more about the ledgers and the OEF here
What is the AEA? AEA is short for Autonomous Economic Agents. AEAs act independently of constant user input and autonomously execute actions to achieve their objective. Their goal is to create economic value for you, their owner.

You can read more about the AEAs here
How do agents talk to others when they don't know each other? For the Autonomous Economic Agents (AEAs) to be able to talk to others, firstly they need to find them, and then, implement the same protocols in order to be able to deserialize the envelops they receive.

You can read more about the Search and Discovery here and more about envelops and protocols here
How does an AEA use blockchain? The AEA framework enables the agents to interact with public blockchains to complete transactions. Currently, the framework supports two different networks natively: the `Fetch.ai` network and the `Ethereum` network.

You can read more about the intergration of ledger here
How does one install third party libraries? The framework supports the use of third-party libraries hosted on PyPI we can directly reference the external dependencies. The `aea install` command will install each dependency that the specific AEA needs and is listed in the skill's YAML file.
How does one connect to a database? You have two options to connect to a database: - Creating a wrapper that communicates with the database and imports a Model. You can find an example implementation in the `weather_station` package - Using an ORM (object-relational mapping) library, and implementing the logic inside a class that inherits from the Model abstract class.

For a detailed example of how to use an ORM follow the ORM use case
How does one connect to a live-stream of data? You can create a wrapper class that communicates with the source and import this class in your skill, or you can use a third-party library by listing the dependency in the skill's `.yaml` file. Then you can import this library in a strategy class that inherits from the Model abstract class.

You can find example of this implementation in the thermometer step by step guide
How does one connect a frontend? There are two options that one could connect a frontend. The first option would be to create an HTTP connection and then create an app that will communicate with this connections. The other option is to create a frontend client that will communicate with the agent via the OEF communication network.

You can find a more detailed approach here.
Is the AEA framework ideal for agent-based modeling? The goal of agent-based modeling is to search for explanatory insight into the collective behavior of agents obeying simple rules, typically in natural systems rather than in designing agents or solving specific practical or engineering problems. Although it would be potentially possible, it would be inefficient to use the AEA framework for that kind of problem.

You can find more details here
Can you manage multiple AEA projects at once with the CLI? Individual CLI calls are currently scoped to a single project. You can have multiple AEA projects in a given root directory but you will have to use the CLI for each project independently.
We are looking to add support for interacting with multiple AEA projects via a single CLI call in the future.

You can find more details about the CLI commands here
When a new AEA is created, is the `vendor` folder populated with some default packages? All AEA projects by default hold the `fetchai/stub:0.9.0` connection, the `fetchai/default:0.5.0` protocol and the `fetchai/error:0.5.0` skill. These (as all other packages installed from the registry) are placed in the vendor's folder.

You can find more details about the file structure here
Is there a standardization for private key files? Currently, the private keys are stored in `.txt` files. This is temporary and will be improved soon.
How to use the same protocol in different skills? By default, envelopes of a given protocol get routed to all skills which have a handler supporting that protocol. The `URI` in the `EnvelopeContext` can be used to route envelopes of a given protocol to a specific skill. The `URI` path needs to be set to the skill's `public_id.to_uri_path`.
Why does the AEA framework use its own package registry? AEA packages could be described as personalized plugins for the AEA runtime. They are not like a library and therefore not suitable for distribution via PyPI.