Become an EVM Transmitter
Transmitters function as lightweight nodes that facilitate message transmission and execution of transactions across connected blockchain networks. They are responsible for signing message requests, ensuring secure and verified communication. Each transmitter operates tethered to a specific blockchain, which allows them to specialize in that network's protocols.
Transmitters can operate across multiple networks but are limited to a single network's parameters at any given time. Their dual role as transmitters and executors enables them to cover processing costs for transactions, enhancing the efficiency of the UIP messaging system.
On the other hand, Super Transmitters provide an additional layer of oversight and security within the UIP framework. Unlike transmitters, super-transmitters do not execute transactions; instead, they oversee the transaction process by confirming or rejecting messages originating from transmitters. This role is crucial for mitigating potential fraudulent activities, as super-transmitters enhance scrutiny and governance without being directly involved in transaction execution. Super-transmitters may include public figures or reputable organizations, adding credibility to the protocol's operations. Their independent function strengthens the overall decentralization and security of the UIP messaging system, ensuring that transactions are thoroughly vetted before proceeding.
Dependencies
Before beginning make sure to install all of the necessary dependencies and tools. In this guide we'll be using several, including:
libusd, an open source library that allows communication with USB devices fom user space.
foundry, a modular toolkit for Ethereum application development.
docker, a set of platform as a service products that use OS-level virtualization to deliver software in packages called containers.
brew install libusb
curl -L https://foundry.paradigm.xyz | bash
foundryupFor the Zsh shell, use source "~/.zshenv" instead of source "~/.bashrc".
sudo apt update
sudo apt install curl build-essential libssl-dev pkg-config
sudo apt install libusb-1.0-0-dev
curl -L https://foundry.paradigm.xyz | bash
~./bashrc
foundryupTo verify the successful installation of dependencies, you can run the following command.
cast --versionIf everything was successfully installed, the output should be the version of the cast command, as shown below.
cast 0.2.0 (31c24b0 2024-11-14T00:20:56.080456000Z)1. Registration
Make sure that you have the native network token on Entangle and that you have added the Entangle network address to your wallet.
Chain Id: 33033
Now run the cast command described below to register the transmitter.
You will receive a success message, as described below, if your transmitter is successfully registered.
2. Security Deposit
To ensure your transmitter works as expected you are required to stake a security deposit. A minimum of 100 NTGL is required.
Run the cast command again but this time with the follow parameters.
You will receive a success message, as described below, if you have successfully staked your security deposit.
3. Docker Environment Setup
To simplify this process, we've created a docker image. In this part we will describe how to install and setup docker.
Update the system.
Install dependencies.
Add the official Docker GPG key.
Add the Docker repository.
Install Docker and Docker Compose.
Verify the installation.
Add the current user to the Docker group (to run commands without using sudo).
Then log out and log back in, or run.
Install Docker via Homebrew
Launch Docker Desktop
Simply find it in your applications and open it.
Verify the installation
4. Starting the Transmitter
Update the docker image.
Create a directory for the transmitterand move to it.
Start the transmitter.
If you want this transmitter to be a super transmitter you need to specify "-e IS_SUPER_AGENT=true".
After the successful execution of the program, you will see the message:
Choosing a Transmitter Name
You can also set a unique name for your agent to more easily distinguish it. Run the below command to do so.
Change Round
To change the round, run the following command.
Changing Blockchain Providers
You can change blockchain providers (RPC nodes) by modifying the source.config.yaml file.
Additional Configuration Parameters
Below are additional configuration parameters you can use for the blockchain provider source configuration file.
parse_new_headers_interval
How often to update blockchain information (e.g., 5s, 1m).
max_query_in_batch
The number of requests in a single batch request.
filter_logs_max_blocks
The maximum difference between fromBlock and toBlock.
blocks_delay
The maximum difference between block shifts.
blocks_batch_to_filter
The minimum number of blocks to process.
min_balance_to_alert
The minimum wallet balance for notifications (in wei).
Troubleshooting
Last updated
Was this helpful?

