This is a simple implementation of a gasless executor using Gelato Relay.
- The user signs a message with their private key and sends it to the executor.
- The executor sends the signed message to the Gelato Relay.
- The Gelato Relay sends the signed message to the Gelato Core.
- The Gelato Core executes the task and sends the result back to the Gelato Relay.
- The Gelato Relay sends the result back to the executor.
- The executor sends the result back to the user.
In this case, the result is the GojoNft.
P.S. The Gelato Relay Concurrent ERC2771 is used in this implementation.
The contracts are deployed on the Base Sepolia testnet.
- Setup hardhat.config,js with the network configuration and the private key.
- Write the deployment script in
ignition/modules/GojoNft.deploy.ts. - Run the following command to deploy script.
npx hardhat ignition deploy ignition/modules/GojoNft.deploy.ts --network base-sepolia
.env file should be created in the root directory with the following content:
PRIVATE_KEY=<private_key>
ALCHEMY_KEY=<alchemy_key>
GELATO_RELAY_ADDRESS=<gelato_relay_address>
npm install
npm run test