Public and private agents
Introduction
Transparency is a fundamental principle in Decentralized Finance (DeFi) and blockchain systems. Within the Fetch.ai network, users have the ability to determine the amount of information they wish to publish. This is thanks to the ability for users to create Agents as either public or private, based on their introspectivity and protocol exposure through the Agentverse .
This allows users to provide greater flexibility to Agents, creating a balance between transparency and privacy for every operation they perform on the network.
Defining public and private agents
There are two ways in which an Agent can be classified as public: they define an endpoint and/or, they publish their manifests:
agent = Agent( name="demo agent", seed=SEED, endpoint=["http://127.0.0.1:8000/submit"], ) agent.include(new_protocol, publish_manifest=True) agent.run()
Private Agents can be private in two ways: by hiding a protocol they use from public and/or by not defining an endpoint:
agent = Agent( name="private demo agent", seed=SEED, ) agent.include(new_protocol, publish_manifest=False) agent.run()
You would need to share the IP of the private Agent you're running to the other Agent you're communicating with.