Créer un compteSe connecter
Pourquoi la décrémentation ne se fait pas avant un require() ?

Voici un exemple théorique:

contract Contract {
uint _countdown;

constructor(){
_countdown = 10;
}
function tick() external {
_countdown--;
require(_countdown == 0);
selfdestruct(payable(address(this)));
}
}

Quand on appel la fonction tick, celle-ci ne décrémente pas _countdown. J'aimerai savoir pourquoi
:TomokoCafe:
il y a 4 ans
Kurisu
Kurisu
4 ans
Pourquoi la décrémentation ne se fait pas avant un require() ?

Voici un exemple théorique:

contract Contract {
uint _countdown;

constructor(){
_countdown = 10;
}
function tick() external {
_countdown--;
require(_countdown == 0);
selfdestruct(payable(address(this)));
}
}

Quand on appel la fonction tick, celle-ci ne décrémente pas _countdown. J'aimerai savoir pourquoi
:TomokoCafe:
Parce que require(_countdown == 0); revert la tx si _countdown != 0 c'est à dire tout le temps
:Synthwave:
il y a 4 ans
Parce que require(_countdown == 0); revert la tx si _countdown != 0 c'est à dire tout le temps
:Synthwave:
ok, donc si un require n'est pas vérfié alors celui-ci annule toute les modifications effectué lors de la fonction ? Si oui, alors je peux mettre un require a l fin d'une fonction si ca me chante exemple:

address(owner).transfer(msg.value);
require(msg.value >= price);
il y a 4 ans
Oki, merci
:kiss:
il y a 4 ans