Trigg3rX is a cross-chain automation platform designed to automate on-chain tasks such as staking, token swaps, and liquidations within the TRON ecosystem. It leverages Ethereum's EigenLayer Automated Validation System (AVS) for decentralized task execution, bringing the benefits of Ethereum-like automation to the TRON blockchain.
Trigg3rX allows users to automate time-sensitive or condition-based tasks on the TRON blockchain. Some key features include:
- Time-based Automation: Schedule tasks such as staking or token burns to occur at specific intervals.
- Condition-based Triggers: Automate tasks like token swaps or liquidations triggered by price changes.
- Event-driven Execution: Trigger actions based on on-chain events like token transfers or liquidity thresholds.
By using decentralized keepers operating on Ethereum's AVS, tasks are executed without the need for manual oversight, ensuring a seamless and reliable automation process.
Trigg3rX utilizes cross-chain messaging between Ethereum and TRON to handle automation tasks:
- Backend: Implemented with Node.js, it handles secure data flow between the TRON blockchain (via TronWeb) and Ethereum (via Ethers.js).
- Smart Contracts:
- On TRON, the
JobManager
contract allows users to create and manage automation tasks. - On Ethereum,
TaskManager
andServiceManager
contracts manage decentralized keeper tasks and validation.
- On TRON, the
- Frontend: A React-based interface enables users to define automation rules, schedule tasks, and track task progress in real-time.
To get started with TriggerX, follow these steps:
-
Clone the Repository:
git clone https://github.com/trigg3rX/triggerx.git cd triggerx
-
You can clone a specific submodule using command:
git submodule update --init --recursive -- <submodule_name>
-
Or, you can clone all submodules using command:
git submodule update --init --recursive
-
-
Start Contracts: You can follow the instructions here to deploy the smart contracts on TRON and Ethereum. We have already deployed the contracts on the testnets for you to interact with, and their addresses are:
-
Initialize the Backend:
- Detailed instructions are here
-
Host the Frontend:
-
Detailed instructions are here to host on local.
-
You can also access the hosted version here.
-
Test Value sets for frontend Demo:
Value Set: For a contract which links domain name to wallet address
Contract Address:
TN4MeYmA3CRmo6Uj6h4Yj2pPcnJiwGaFog
Target Function Signature:
linkDomainToAddress(bytes32,address)
Argument Type: Static
Arguments:
tronscan.nile.org,TEqqmXaynt9XmmcBNYbJh5tMVDmm183c2r
Notice how we wrote the targetFunctionSignature and arguments.
- No spaces are allowed in the arguments.
- The arguments are separated by commas.
- The arguments types mentioned in function signature should be in the same order required by the function.
-