Skip to content

Commit

Permalink
Merge pull request #196 from valory-xyz/doc/doc_revision
Browse files Browse the repository at this point in the history
Doc revision
  • Loading branch information
dvilelaf authored Sep 29, 2023
2 parents 9982671 + 6606f83 commit 8d24a22
Show file tree
Hide file tree
Showing 19 changed files with 572 additions and 49 deletions.
Binary file added docs/fonts/Manrope/Manrope-Bold.ttf
Binary file not shown.
Binary file added docs/fonts/Manrope/Manrope-ExtraBold.ttf
Binary file not shown.
Binary file added docs/fonts/Manrope/Manrope-ExtraLight.ttf
Binary file not shown.
Binary file added docs/fonts/Manrope/Manrope-Light.ttf
Binary file not shown.
Binary file added docs/fonts/Manrope/Manrope-Medium.ttf
Binary file not shown.
Binary file added docs/fonts/Manrope/Manrope-Regular.ttf
Binary file not shown.
Binary file added docs/fonts/Manrope/Manrope-SemiBold.ttf
Binary file not shown.
55 changes: 55 additions & 0 deletions docs/fonts/Manrope/stylesheet.css
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
@font-face {
font-family: 'manrope__bold';
src: url('Manrope-Bold.ttf');
font-weight: normal;
font-style: normal;
font-display: swap;
}

@font-face {
font-family: 'manrope__extrabold';
src: url('Manrope-ExtraBold.ttf');
font-weight: normal;
font-style: normal;
font-display: swap;
}

@font-face {
font-family: 'manrope__extralight';
src: url('Manrope-ExtraLight.ttf');
font-weight: normal;
font-style: normal;
font-display: swap;
}

@font-face {
font-family: 'manrope__light';
src: url('Manrope-Light.ttf');
font-weight: normal;
font-style: normal;
font-display: swap;
}

@font-face {
font-family: 'manrope__medium';
src: url('Manrope-Medium.ttf');
font-weight: normal;
font-style: normal;
font-display: swap;
}

@font-face {
font-family: 'manrope__regular';
src: url('Manrope-Regular.ttf');
font-weight: normal;
font-style: normal;
font-display: swap;
}

@font-face {
font-family: 'manrope__semibold';
src: url('Manrope-SemiBold.ttf');
font-weight: normal;
font-style: normal;
font-display: swap;
}
Binary file added docs/images/favicon.ico
Binary file not shown.
Binary file added docs/images/favicon16x16.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/images/favicon32x32.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/images/favicon96x96.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
17 changes: 17 additions & 0 deletions docs/images/keeperkit.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
19 changes: 19 additions & 0 deletions docs/images/logo.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
77 changes: 77 additions & 0 deletions docs/images/logo_purple.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
72 changes: 23 additions & 49 deletions docs/index.md
Original file line number Diff line number Diff line change
@@ -1,51 +1,25 @@
![KeeperKit](images/keeperkit.svg){ align=left }
The KeeperKit is a toolkit to build agent services that can perform the execution of smart contract functionalities in a reliable, trustless and cost-efficient way. The keeper system runs on off-chain infrastructure, which enables almost arbitrarily complex computation that is unrestricted by storage space of the blockchain and neither prohibited by expensive on-chain transaction fees.
This enables its users, be it an individual developer, another application or a decentralized autonomous organization (DAO), to perform DevOps jobs in a permissionless, secure and fully-automated manner.

!!! info

## The challenge: end-to-end decentralisation

Smart contracts are a highly secure form of digital agreement encoded into a computer program that is hosted on a
blockchain.
They are an essential building block for more sophisticated applications, which led to the emergence of novel
niches ranging from decentralized finance (DeFi) and insurance products to non-fungible tokens (NFTs) and
gaming metaverses.
Their code specifies the prerequisite conditions for execution of their functionality, which can be invoked by users
through method calls.

However, smart contracts have a limitation, which is that they are purely reactive by design.
That is to say, they cannot execute their own functions periodically or when a predefined condition is met.
Instead, they rely on a third party to trigger their execution, whom they incentivize to do so by offering a reward.
This results in a system where developers and users are tasked to monitor and intervene in the process.
One way this can be addressed is through DevOps automation, however the use of centralized infrastructure brings along
all the drawbacks and risks that decentralized ledger technologies are trying to resolve: in leads to loss of
fault-tolerance by introducing central points of operation that make the system prone to adversarial exploit.
Smart contracts alone therefore do simply not allow developers to build fully automated application that
are decentralized from end-to-end.


## The solution: a Keeper Network

A solution to this problem is offered by the keeper system, a network of agents that together form a decentralized
system that can perform the execution of smart contract functionality in a reliable, trustless and cost-efficient way.
The [Open Autonomy framework](https://docs.autonolas.network/) provides developers with the necessary tools to
design and build an agent service that implements this functionality using finite state machines.
The keeper system implemented here with the use of this framework is operated by
[Autonomous Economic Agents](https://open-aea.docs.autonolas.tech/) (AEAs), which possess the full range of
capabilities required to perform the necessary tasks.
They are capable of acting proactively, executing behaviour periodically as time progresses, when specific events
unfold, based on detection of changes in their environment, or any more intricate combination of the former logic.
The keeper system runs on off-chain infrastructure, which enables almost arbitrarily complex computation that is
unrestricted by storage space of the blockchain and neither prohibited by expensive on-chain transaction fees.
This enables its users, be it an individual developer, another application or a decentralized autonomous organization
(DAO), to perform DevOps jobs in a permissionless, secure and fully-automated manner.


## Useful documentation and resources

https://docs.autonolas.network/
https://open-aea.docs.autonolas.tech/
https://keep3r.live/
https://keep3r.network/
https://docs.keep3r.network/
https://github.com/keep3r-network/cli/blob/main/README.md
https://github.com/keep3r-network/cli
https://github.com/keep3r-network/cli-sample-jobs
https://docs.chain.link/docs/chainlink-keepers/introduction/
This section will be completed soon.

## Demo

!!! info

This section will be completed soon.

## Build

1. Fork the [KeeperKit repository](https://github.com/valory-xyz/agent-academy-2).
2. Make the necessary adjustments to tailor the service to your needs. This could include:
* Adjust configuration parameters (e.g., in the `service.yaml` file).
* Expand the service finite-state machine with your custom states.
3. Run your service as detailed above.

!!! tip "Looking for help building your own?"

Refer to the [Autonolas Discord community](https://discord.com/invite/z2PT65jKqQ), or consider ecosystem services like [Valory Propel](https://propel.valory.xyz) for the fastest way to get your first autonomous service in production.
Loading

0 comments on commit 8d24a22

Please sign in to comment.