Déposer de l'éther dans un contrat

Sep 30 2020

J'ai ajouté les trois fonctions ci-dessous à mon contrat déployé comme décrit dans l'article https://programtheblockchain.com/posts/2017/12/15/writing-a-contract-that-handles-ether/

J'ai déployé en utilisant Remix sur Rinkeby. Lorsque j'entre 1 Ether dans la transaction de dépôt dans Remix, j'obtiens l'erreur "Gas Estimation Failed".

Pourquoi la fonction de dépôt génère-t-elle une erreur?

Je vous remercie

function remove () public {msg.sender.transfer (address (this) .balance); }

function deposit(uint256 amount) payable public {
    require(msg.value == amount);
    // nothing else to do!
}

function getBalance() public view returns (uint256) {
    return address(this).balance;
}

Mettre à jour

J'ai essayé d'utiliser une fonction de secours mais Remix ne l'aime pas.

solidité pragma> = 0,4,0 <0,7,0;

Je vous remercie

Réponses

1 Picard78 Sep 30 2020 at 15:48
  1. J'ai utilisé la fonction de secours ci-dessous et cela a fonctionné.

receive() external payable {}

  1. Ce message était ce que je recherchais réellement dans ma question initiale. Tout fonctionne bien maintenant.

Comment envoyer Ether en tant que fonction à un contrat en utilisant Remix?