Installing PowerAgent Package on DAppNode

Instructions for the installation of the PowerAgent node via the DAppNode Package Manager

If you run execution and consensus clients on your DAppNode, you should let them fully synchronize before installing the PowerAgent package.

Generate Keyfile

Using your worker's private key, generate the keyfile which will be used during the PowerAgent operation to sign the worker's transactions.

The keyfile is a file that allows PowerAgent to execute transactions on behalf of your worker address without revealing its private key in plaintext during transfer.

On your own machine, you need to install NodeJS to execute a specialized script, which will yield a keyfile encrypted with a password of your choice.

Simplified keyfile generation procedure

Since you need Docker to run DAppNode and standalone PowerAgent alike, you have it available. We provide a Docker image which allows you to generate a keyfile without installing anything extra or running more than one command.

Execute the following command in the terminal:

docker run -v ${KEYSTORE_PATH}:/usr/app/keys -e pk=${PK} -e password=${PASSWORD} -d eitelvolkerts/agent_keygen:latest

Here the following variable names are used, which you should substitute with the respective values:

  1. ${KEYSTORE_PATH}. The local path wherein the key is to be stored

  2. ${PK}. Your private key

  3. ${PASSWORD}. Your password

We reiterate that you are to substitute these variables with your specific values when running the command. The keyfile will be saved to the specified path.

  1. Install NodeJS and npm according to your OS. It is recommended to install NodeJS globally.

  2. Create a new directory in your working folder:

mkdir poweragent-keygen && cd poweragent-keygen
  1. Clone the repository from github:

git clone https://github.com/powerpool-finance/powerpool-agent-v2-compose

cd powerpool-agent-v2-compose
  1. Install the required dependencies:

npm i
  1. Create a keyfile. Run

node jsongen.js %worker_private_key% %password%

Where %worker_private_key% is the private key of your worker address (which you have already registered), and %password% is any password you like. Don’t lose it; however, you may recreate the keyfile at any time.

The keyfile will be placed in the same directory in the ./keys folder. Save it for later upload.

Install and Configure the PowerAgent Package

  1. Find the link (or IPFS hash) of the most recent version of the PowerAgent.

Open the link with the public store enabled and local IPFS mode selected. If you are unable to find it, go to System Packages and open the IPFS package WebUI.

Having done that, go to Peers and press Add connection.

There, enter the following address:

/ip4/172.33.1.5/udp/4001/quic/p2p/12D3KooWPJk93THACnrk2LayhBuafoKQTypvssZSQTASU365c8v2

and press Add.

Thereby the package will have been made available for you to download.

  1. Accept “bypass unsigned restriction” and press install.

  1. Fill in the fields (you can use the screenshots as a reference to make sure everything is filled correctly):

  • 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 so that PowerAgent can execute the transactions on behalf of your worker address.

  • Network. The testnet is run on Sepolia.

  • Execution client RPC. The WS 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 Geth-Sepolia may be like ws://sepolia-geth.dappnode:8546.

  • Agent address. The address of the latest version of the PowerAgent contract.

The following fields should be left empty unless specified:

  • Data source

  • Graph URL

  • API Server

  • Sentry SDK data source name

The following fields should be filled as shown:

  • Number of blocks to elapse before a tx is resent or dropped. 4 is a good number

  • Max gase price in GWei for tx resending. 500 works fine

  • Maximal resending attempts number. 4 is a good number

  • Logging level. Choose "debug" level to make the logs informative.

  • 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.

You have finished the installation process and now officially are a part of PowerAgent testnet!

Last updated