Run a Conductor Node

Conductors are a type of Agents employed by Distributors "executing" verified operations of Transmitters on destination blockchains.

Conductors contribute to the security of Entangle by conducting additional verification on data.

Conductors only have two options:

  • "Execute" message

  • "Abort" message

Distributors may launch any amount of Conductors with a unique wallet (address + private key).

Conductors may only aggregate data from Entangle Blockchain, limited to connected destination blockchains of Entangle:

  • Ethereum

  • BNB Smart Chain

  • Optimism

  • Avalanche

  • Fantom

  • Arbitrum

  • Polygon

  • Mantle

  • SEI Network

  • MultiVersX

Instructions

Please follow the instructions carefully to ensure a smooth onboarding process and seamless updates to codebases.

Hardware Requirements

Mainnet

CPU

4 or more physical CPU cores

RAM

8GB+

Storage

100GB+

SSD Network

100mbps+

OS

Ubuntu 22.04

Testnet

CPU

2 or more physical CPU cores

RAM

4GB+

Storage

50GB+

SSD Network

10mbps+

OS

Ubuntu 22.04

Executor Configuration File

Distributors running Conductors should download and install the Executor Configuration File, which will be described below through a step-by-step process. Please be aware that within this context, 'Executors' and 'Conductors' refer to the same thing.

The Executor Configuration File is written in YAML format and can be found on GitHub, containing the following:

  • Contracts and events that the application subscribes to in specific networks.

  • Defines a handler method.

  • Target networks where transactions for events will be sent. If the target network is not specified, transactions will be sent to Circuits on all supported networks - their full list is also specified in the configuration file.

By default, a Conductor is configured to work with all supported networks and protocol contracts. If necessary, the Conductor can be configured to listen to events only on certain networks.

Steps:

  1. Install Geth & Docker

1.1. Download Geth from the official Ethereum website according to your operating system.

1.2. Use the Geth account new command to create a new key in the Keystore.

1.3. Run the Conductor in a Docker container

  1. Create a new account in the Geth Keystore using a fairly complex password (keep it safe)

2.1 Geth account new

2.2. Public address of the key: 0x4D4BfDB964968077D0eF2D9CC618C50C3C7dEb48

2.3. Path of the secret key file: /Users/john/Library/Ethereum/keystore/UTC--2023-06-21T06-12-44.354847000Z--4d4bfdb964968077d0ef2d9cc618c50c3c7deb48

2.4. Keystore path: /Users/john/Library/Ethereum/keystore/

2.5. File name: UTC--2023-06-21T06-12-44.354847000Z-4d4bfdb964968077d0ef2d9cc618c50c3c7deb48

2.6. The given password, keystore path, and filename will be required later

  1. Add an address to the list of allowed Conductors - on all blockchains including the Entangle Blockchain

  2. Download the docker image of the Entangle Executor Application

https://github.com/Entangle-Protocol/distributors

docker pull <repository_url/entangle_executor:latest> 

5. Run the container with the following parameters

docker run -p <port>:<port> -v <path/to/keystore>:/app/shared/keystore/ <image_id> "<executor_keystore_name>" "<executor_keystore_password>"

Example:

docker run -p 5888:5888 -v ./keystore/:/app/keystore/ 5c1e5f2f5333

"executorKey" "incred1bly-secure-pa55word"

  • This Conductor configuration works with Circuits on all supported networks.

  • To run an Conductor that only works with Circuits on certain protocol networks, you can download the necessary configuration file for the Conductor in our repository <repository_url/executor_configs> or change the basic configuration file according to your requirements <repository_url/executor_configs/config.yaml>

  • You can connect the modified configuration file as follows:

docker run -p <port>:<port> -v ./keystore/:/app/keystore/ -v ./custom_config.yaml/:/app/executor/config.yaml <image_id> "<executor_keystore_name>" "<executor_keystore_password>"

A simple implementation example of Conductors for Distributors on Entangle Blockchain can be viewed here: https://github.com/Entangle-Protocol/distributors

Last updated