Les + populaires

BTC ETH SOL XRP BNB USDC USDT

Suivez-nous

Transactions sans gaz : les méta-transactions expliquées

IAavec
Titres Titres
  • Utilisateur: signe une méta-transaction (c’est-à-dire un message contenant des informations sur la transaction qu’il souhaite exécuter).
  • Relais: un serveur Web avec un portefeuille qui signe une transaction Ethereum valide (qui a la méta-transaction comme charge utile) et l’envoie à la blockchain.
  • Transitaire: un contrat Ethereum chargé de vérifier la signature de la méta transaction qui, sans surprise, transmet la requête à un contrat destinataire.
  • Destinataire: le contrat Ethereum que l’utilisateur avait l’intention d’appeler sans payer la redevance gaz, ce contrat doit pouvoir conserver l’identité de l’utilisateur qui a initialement demandé la transaction.

Le contrat de transitaire

contract MinimalForwarder is EIP712
struct ForwardRequest {
address from;
address to;
uint256 value;
uint256 gas;
uint256 nonce;
bytes data;
}
mapping(address => uint256) private _nonces;
function verify(ForwardRequest calldata req, bytes calldata signature) public view returns (bool)
function execute(ForwardRequest calldata req, bytes calldata signature)
public
payable
returns (bool, bytes memory)
{

Le contrat Destinataire

contract Recipient is ERC2771Context
constructor(address trustedForwarder) ERC2771Context(trustedForwarder) {}
function setFlagOwner(string memory _color) external {
address previousHolder = currentHolder;
currentHolder = _msgSender();
color = _color;
emit FlagCaptured(previousHolder, currentHolder, color);
}
function _msgSender() internal view virtual override returns (address sender) {
if (isTrustedForwarder(msg.sender)) {
assembly {
sender := shr(96, calldataload(sub(calldatasize(), 20)))
}
} else {
return msg.sender;
}
}

Source https://medium.com/coinmonks/gas-free-transactions-meta-transactions-explained-f829509a462d?source=rss—-721b17443fd5—4

Gérez vos cryptos
Bitstack
5€ offerts en Bitcoin

Donnez votre avis

Soyez le 1er à noter cet article


Partagez cet article maintenant !

Envoyez simplement nos contenus crypto et finance à vos proches.