PowerPool
  • powerpool overview
    • PowerPool
      • PowerPool DAO Story
      • Value Proposition
      • Use Cases
      • CVP Token
      • Vision 2027
    • Blockchain Automation
      • Glossary
    • PowerAgent Stats
    • How to contribute
    • Contracts and Links
  • Power Agent
    • 🎯PowerAgent features
    • πŸ›οΈArchitecture
      • ℹ️Agent
      • ℹ️Keeper
      • ℹ️Job
        • Full Specification
    • πŸ“œUser Guides and Instructions
      • ❓I Want to Automate my Tasks
        • Job Registration Guide
      • ❓I Want to Become a Keeper
    • ℹ️Scenarios
    • βŒ›Old Pages
      • Installation Guide (Old)
        • Prerequisites
        • DAppNode Installation
        • Registering in PowerAgent
        • Installing PowerAgent Package on DAppNode
        • Standalone Installation
        • Chain-specific configs
      • Keeper (Old)
        • Keeper Registration and Update
        • Keeper staking, withdrawal, and deactivation
          • Keeper activation and deactivation in PPAgentV2RANDAO
        • Keeper assignment and release in RanDAO realisation
      • Job (Old)
        • Job Registration & Update
        • Job funds deposition and withdrawal
      • Agent (old)
        • Page
        • Execution
      • Technical Implementation (Old)
        • Hooks and helper functions
        • Errors
        • Modifiers
          • Flags
      • Job Registration Guide (Old)
      • πŸ“‘Testnet Rules
      • Slashing
        • Copy of Slashing
      • Task Reward and Gas Compensation
        • Fees and income sources
        • Copy of Task Reward and Gas Compensation
  • PowerPool Incentives
    • PowerPool Points Program
  • Security
    • Bug Bounty
    • Security Audits
  • Research
    • Automation Networks Research
      • Approaches on Keeper Selection
      • On-chain Random Number Generation
      • Keeper Weighing
      • 🌊PowerPool & PowerAgent Automation Network
      • Value Proposition-PowerPool
    • PowerAgent v2.1
      • Keeper Selection
      • Hooks
  • Resources
    • Website
    • Twitter
    • Medium
    • Discord
    • Github
    • Telegram
    • Governance Voting
    • Governance Forum
  • Legacy & Deprecated
    • Index Products
      • $YLA: Yearn Lazy Ape
        • Invest (ZAP) in YLA with low fees
        • Instant YLA mint via USDC
        • $CVP Boost Program
        • Redeem YLA
        • YLA Onsen Liquidity Mining [deprecated]
      • $BSCDEFI: BSC DeFi Pool/Index
        • Guide: Mint $BSCDEFI with $BNB
        • Guide: Multi-Asset $BSCDEFI Mint
        • Guide: PancakeSwap LM Farming
        • Add $BSCDEFI to MetaMask.
        • Redeem $BSCDEFI
      • $ASSY: Aave, SushiSwap, Synthetix, and Yearn Index
        • $CVP Boost Program
        • Underlying Token Staking
      • $PIPT: PowerIndex Pool
      • $YETI: Yearn Ecosystem Index
      • Market Price vs Fair Value
      • About ZAP
    • CVP reward program
      • How to create a DCA flow in Partitura
Powered by GitBook
On this page
  • Keeper registration
  • Node installation
  • Keeper activation
  • Managing Keepers

Was this helpful?

  1. Power Agent
  2. User Guides and Instructions

I Want to Become a Keeper

Instructions to register a keeper and install the software

PreviousJob Registration GuideNextScenarios

Last updated 10 months ago

Was this helpful?

To become a keeper, you have to do the following:

  1. Register a keeper in the PowerAgent contract;

  2. Install the PowerAgent software;

  3. Activate the keeper in the PowerAgent contract.

Keeper registration

Keeper registration, activation, management, stake deposit and withdrawal, compensation withdrawal are done via PowerAgent .

To register a new keeper, follow the instructions below:

  1. Navigate to the PowerAgent Web UI for or .

  2. Press β€œConnect” and connect with your Admin wallet.

  3. Press the β€œCreate Keeper” button:

  4. Select the most recent agent version. Press the β€œCreate Keeper” button at the bottom:

  5. In the keeper creation pop-up window, specify the amount of CVP to stake (no less than 1000) and the Worker address which you created beforehand:

  6. An β€œUnlock” button will light up. Press and confirm the transaction. Afterwards, press β€œCreate keeper”.

  7. Afterwards, a keeper will be created, but not activated. Proceed to Installation Section and install the node software.


Node installation

Follow one of guides listed below based on the chosen method:

Installation

  • Start with a clean AMD-64 architecture distribution (the code is given for Ubuntu or Debian.

  • Install NodeJS, npm, Docker, and Docker-Compose

    • Install NodeJS and npm

    • Install Docker and Docker Compose

  • Navigate to a directory of your choice:

    cd /path/to/the/directory/of/your/choice
  • Clone the standalone repository and cd to it:

    git clone https://github.com/powerpool-finance/powerpool-agent-v2-compose
    cd powerpool-agent-v2-compose
  • Generate the worker keyfile:

    npm i
    node jsongen.js ${YOUR_WORKER_PRIVATE_KEY} ${A_PASSWORD_OF_YOUR_CHOICE}

    Mind that the password will be specified in the config later on, so remember it.

  • Open the config file with a text editor of your choice. For the sake of an example, here we open it with nano

    nano config/main.yaml
  • Fill the file out according to the schema, substituting the variables where needed (numerical values can also be changed, if you so desire). Do not remove β€˜β€™ (quotation marks).

Do not forget to replace ${variable_name} with actual variable.

  • [OPTIONAL] Change the name of the package if you want to run several instances of the PowerAgent on the same machine.

    docker-compose.yaml
    version: "3.9"
    services:
        ${SERVICE_NAME}:
            container_name: ${CONTAINER_NAME}
            image: powerpool/power-agent-node:latest
            restart: always
            volumes: 
            - ./config:/usr/app/config 
            - ./keys:/usr/app/keys
            environment:
                NODE_ENV: ${NODE_ENV}
  • Launch the node.

    docker compose up -d
    docker logs -f ${CONTAINER_NAME}

To get the ${CONTAINER_NAME}, execute docker ps and find the container id. If you changed the name of the container, use it instead.

Update

In the folder with the docker-compose.yaml file run:

docker compose down --rmi local
docker compose pull
docker compose up -d

Stop

In the folder with the docker-compose.yaml file run:

docker compose down --rmi local

Preparation of the keyfile

On your personal machine, clone this repository:

And execute the following command:

npm i
node jsongen.js ${WORKER_PRIVATE_ADDRESS} ${ANY_PASSWORD}

The generated keyfile will be written into ./keys/ directory.


Installation

In order to locate the PowerAgent package,

  • Switch your IPFS mode to β€œLocal”

  • Add the following peers to your DAppNode’s IPFS peer list:

Peers List
/ip4/134.122.84.162/tcp/4001/p2p/12D3KooWPJk93THACnrk2LayhBuafoKQTypvssZSQTASU365c8v2
/ip4/134.122.84.162/udp/4001/quic/p2p/12D3KooWPJk93THACnrk2LayhBuafoKQTypvssZSQTASU365c8v2
/ip4/134.122.84.162/udp/40202/quic/p2p/12D3KooWPJk93THACnrk2LayhBuafoKQTypvssZSQTASU365c8v2

To add peers in DAppNode,

  • Locate the IPFS package in the System Packages menu;

  • Navigate to Peers - Add Connection;

  • Open WebUI;

  • Fill in the fields when prompted by DAppNode installation UI:

Fields to fill
Worker address          #This field should contain
                        #the address of your worker.
                        
Worker key              #Remember the keyfile you generated?
                        #Upload it here.
                        
Worker keyfile password #The password to the keyfile you chose
                        #during generation
                        
Network                 #Sepolia or Gnosis, whichever network
                        #you are running on
                        
Execution client RPC    #The Websockets RPC address
                        #of the execution client,
                        #which PowerAgent will connect to.
                        #Look it up in the logs tab
                        #of your execution client you installed earlier.
                        #The default for Sepolia Geth may be like
                        #ws://sepolia-geth.dappnode:8546.
                        
Agent address           #The address of the latest version
                        #of the PowerAgent contract
                        #on the appropriate chain.
       
####Leave these empty:####             
Data source
Graph URL
API Server
Sentry SDK data source name
##########################

Number of blocks to elapse before a tx is resent or dropped #4
Max gase price in GWei for tx resending                     #500
Maximal resending attempts number                           #4
Logging level                                               #"debug"

Accrue reward on the poweragent address
#True/False. Default: False.
#This value governs whether you accrue the rewards on your worker address or have them transferred immediately upon conferring. Keep in mind that the former option is more gas-efficient.

Execute tasks when block base fee is greater than max base fee
#True/False. Default: False.
#This field also accepts a Boolean value. In PowerAgent, the Job owner may set an upper bound on the gas cost for the purposes of reward computation. If you wish to execute the transaction even in the case of such an upper bound depressing your reward amount, select True.

Max Priority Fee Per Gas
#Default: 60000 This field accepts an integer value, to which the max priority fee per gas shall be set.

Update

The package update is as straightforward as possible: locate the new package by its IPFS hash and press β€œUpdate”. The configuration from the previous version will persist.

PowerAgent Node can be added as a service into another docker container.

  • Create /config and /keys folders alongside your docker-compose.yaml file.

  • Follow the Standalone instructions to obtain the keyfile and the main.yaml config file and place them into the corresponding folders.

  • Add the following service into the docker-compose.yaml:

        agent-latest:
                image: powerpool/power-agent-node:latest
                restart: always
                volumes: 
                - ./config:/usr/app/config 
                - ./keys:/usr/app/keys
                environment:
                    NODE_ENV: ${NODE_ENV}
  • Execute docker-compose up -d agent-latest in the folder with docker-compose.yaml.

Example configs for standalone installation:

networks:
  enabled:
     - gnosis
  details:
    gnosis:
      rpc: 'your_rpc_address'
      block_logs_mode: true
      agents:
        '0x071412e301C2087A4DAA055CF4aFa2683cE1e499':
          data_source: subgraph
          subgraph_url: https://api.studio.thegraph.com/proxy/48711/ppav2-rd-gnosis-b12-ui/version/latest
          executor: pga
          keeper_worker_address: 'your_keeper_worker_address'
          key_pass: 'your_password'
          accrue_reward: false
networks:
  enabled:
     - sepolia
  details:
    sepolia:
      rpc: 'your_rpc_address'
      block_logs_mode: true
      agents:
        '0xbde2aed54521000dc033b67fb522034e0f93a7e5':
          data_source: subgraph
          subgraph_url: https://api.studio.thegraph.com/query/48711/ppav2-rd-sepolia-b12-ui/version/latest
          executor: pga
          keeper_worker_address: 'your_keeper_worker_address'
          key_pass: 'your_password'
          accrue_reward: false
networks:
  enabled:
     - mainnet
  details:
    mainnet:
      rpc: 'your_rpc_address'
      block_logs_mode: true
      agents:
        '0xc9ce4CdA5897707546F3904C0FfCC6e429bC4546':
          data_source: subgraph
          subgraph_url: https://api.studio.thegraph.com/query/48711/ppav2-rd-maintest-ui/version/latest
          executor: pga
          keeper_worker_address: 'your_keeper_worker_address'
          key_pass: 'your_password'
          accrue_reward: false

πŸ₯³ This concludes the installation + configuration process. Good job! Now the keeper must be activated in order to be able to execute transactions.


Keeper activation

The status of the keeper will be β€œActivating”. Next to it, locate the β€œComplete” button and confirm the transaction:

Verify that the keeper is active:


Managing Keepers

On the My Keepers tab you can see all your registered keepers; both active and inactive.

Click on the keeper entry to expand the detailed view:

  1. Summary tab.

    Here you can see the total number of your keepers, sum of all their CVP stakes and their total earnings in native token.

  2. Keeper stats tab.

    Here the key metrics of your keeper are presented: active and pending withdrawal CVP stake, number of jobs completed, and detailed balance.

  3. Control tab.

    On this tab you can stake or withdraw CVP for your keeper, as well as withdraw native token earnings.

Refer to the .

Refer to the .

Afterwards, proceed to the .

Navigate to the either through the installer link or by the IPFS hash. Accept β€œbypass unsigned restriction” and press install.

After installation, go back to the , open β€œMy Keepers” tab and expand the entry for your newly registered keeper.

πŸ“œ
❓
DApp
Sepolia
Gnosis
official installation documentation
official installation documentation
keeper activaton section
most recent package version
DApp
LogoGitHub - princesslunaequestrian/keyfile-generator: Keyfile generator for the PowerAgent nodeGitHub
Temporary repository for keyfile generation