An API key is required to use the infrastructure to power gasless transactions. Visit https://app.rallyprotocol.com/ to generate both Amoy and Mainnet Polygon API keys.
Deploy contracts with the relay method
To gaslessly deploy a contract, create a GSN transaction object and use the relay() method to send the transaction to our relayer.
import { RlyAmoyNetwork } from 'rly-network-mobile-sdk';import ethers from 'ethers';....//get web3 providerconst provider =new ethers.providers.JsonRpcProvider(providerUrl);//get instance of your contract const myContract =new ethers.Contract(contractAddress, contractAbi, signer);//populate raw transaction objectconst tx =await myContract.populateTransaction.myMethod.( param1, param2 );//get gas estimate for transactionconst gas =await myContract.estimateGas.myMethod.(param1, param2);//get current network fee dataconst { maxFeePerGas, maxPriorityFeePerGas } =await provider.getFeeData();//create relay tx objectconst gsnTx = { from: account.address, data: tx.data, to: tx.to, gas: gas._hex, maxFeePerGas: maxFeePerGas._hex, maxPriorityFeePerGas: maxPriorityFeePerGas._hex, } asGsnTransactionDetails;// relay transaction awaitRlyAmoyNetwork.relay(gsnTx);