Interaction with smart contract directly or via meta transactions

Hi @micheal,

EOAs are externally owned accounts and have a private key.

Each user of your system will have an EOA and they would need to pay for gas to create a transaction that interacts with your smart contract.

Alternatively, you could use meta transactions, where each user signs a message with their EOA and you have a relayer that submits the transaction.

You may want to sign up for the workshop next week which will cover meta transactions and how you can implement using OpenZeppelin Defender: Workshop: Gasless MetaTransactions with OpenZeppelin Defender - Thursday 11 February 2021

You could use a relayer (as described above)

If the client is creating a transaction then they will need to pay gas in Ether for the transaction and any fee you are charging, this could be in Ether or a token (including stable tokens).

If you are relaying the transactions for your clients, then you could charge your clients using Fiat, or Ether or a token.

No, it depends how you architect your system.

Whoever initiates the transaction pays gas, either the clients directly, or if using meta transactions via the relayer, it is the relayer.

1 Like