Hallo allerseits, ich habe einen erc20-Vertrag im Hauptnetzwerk bereitgestellt, alles funktioniert einwandfrei, aber wenn ich Ether an die Vertragsadresse sende, erhalte ich diesen Fehler: Warnung! Fehler während der Vertragsausführung [Zurückgekehrt] Ich habe nicht verstanden, warum. TxHash: 0x835d9b4106c279e116f97cc6038c6e12004aaac5408ac862436b0d8fc07ea94f Vertragsadresse: 0xACdDb1b4a5527af01ED85C74F43F90ecD1276b8E
Danke,
Diese Bedingung scheint nicht erfüllt zu sein
require(balances[fundsWallet] >= amount);
Ich habe den Rest des Vertragscodes überprüft und Sie berücksichtigen nicht, dass Sie msg.value
sich in Wei befinden, nicht in ETH.
Ihre Kauffunktion
function() payable{
totalEthInWei = totalEthInWei + msg.value;
uint256 amount = msg.value * unitsOneEthCanBuy;
require(balances[fundsWallet] >= amount);
balances[fundsWallet] = balances[fundsWallet] - amount;
balances[msg.sender] = balances[msg.sender] + amount;
Transfer(fundsWallet, msg.sender, amount); // Broadcast a message to the blockchain
//Transfer ether to fundsWallet
fundsWallet.transfer(msg.value);
}
Sollte berücksichtigen, dass msg.value
in Wei ist
uint256 amount = msg.value * unitsOneEthCanBuy / 1000000000000000000;
Und Sie müssen das Ereignis nicht ausgeben, Transfer()
da es bereits in der transfer()
Funktion ausgegeben wird.
So sollte Ihre Funktion sein
function() payable{
totalEthInWei = totalEthInWei + msg.value;
uint256 amount = msg.value * unitsOneEthCanBuy / 1000000000000000000;
require(balances[fundsWallet] >= amount);
balances[fundsWallet] = balances[fundsWallet] - amount;
balances[msg.sender] = balances[msg.sender] + amount;
//Transfer ether to fundsWallet
fundsWallet.transfer(msg.value);
}
duduup
duduup
Daniel Luca CleanUnicorn
duduup
duduup
Daniel Luca CleanUnicorn