Run a Transmitter Node
Overview
Transmitters are a type of Agents operating machines such as General purpose Instances, responsible for compiling and aggregating data from various sources to the Entangle Blockchain.
Consensus among Transmitters enhances the security and resilience of Entangle through a Delegated Proof-of-Stake mechanism, where dishonest behavior is deterred through slashing mechanisms.
Transmitters may aggregate data from a variety of sources, including APIs and RPC Endpoints of Blockchains which Entangle has integrated:
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 | 2 or more physical CPU cores |
RAM | 4GB+ |
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 |
Keeper Configuration File
Infrastructure Participants wanting to run Transmitters should download and install the Keeper Configuration file, which will be described below through a step-by-step process.
Please be aware that within this context, 'Keepers' and 'Transmitters' refer to the same thing.
The Keeper 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 the Circuit contracts on all supported networks - their full list is also specified in the configuration file.
By default, a transmitter is configured to work with all supported networks and protocol contracts. If necessary, a transmitter can be configured to listen to events only on certain networks.
Step-by-Step Guide:
Install Geth & Docker
Download Geth from the official Ethereum website according to your operating system.
Use the Geth account new command to create a new key in the Keystore.
Run the transmitter in a Docker container
Create a new account in the Geth Keystore using a fairly complex password (keep it safe)
Geth account new
Public address of the key: 0x4D4BfDB964968077D0eF2D9CC618C50C3C7dEb48
Path of the secret key file: /Users/john/Library/Ethereum/keystore/UTC--2023-06-21T06-12-44.354847000Z--4d4bfdb964968077d0ef2d9cc618c50c3c7deb48
Keystore path: /Users/john/Library/Ethereum/keystore/
File name: UTC--2023-06-21T06-12-44.354847000Z-4d4bfdb964968077d0ef2d9cc618c50c3c7deb48
The given password, keystore path, and filename will be required later.
Receive $NGL Tokens and stake them.
Download the docker image of the Entangle Keeper application.
Run the container with the following parameters
Example:
docker run -p 5888:5888 -v ./keystore/:/app/keystore/ 5c1e5f2f5333
"keeperKey" "incred1bly-secure-pa55word"
This transmitter configuration works with all protocol contracts on all supported networks.
To run a Transmitter that works only with certain protocol networks, you can download the necessary configuration file in our repository <repository_url/keeper_configs> or change the basic configuration file according to your requirements <repository_url/keeper_configs/config.yaml>.
You can connect the modified configuration file as follows:
If you encounter any issues or require assistance, do not hesitate to reach out to the Entangle team or the community for support via the Entangle Discord channel.
Last updated