Kann mir jemand einen Tipp geben oder korrigieren, was mit dem Code falsch ist. Vielleicht ist es offensichtlich, wo der Fehler liegt, aber ich sehe ihn nicht und ich stecke fest. Was macht man als nächstes ?. Der Code ist hier: https://ropsten.etherscan.io/address/0xc3ec072c279043ad2e56f4b5683b78337ed614d9
function () payable public { }
function buy () payable public whenNotPaused beforeDeadline afterStartTime saleNotClosed {
require(msg.value >= minContribution);
// Update the sender's balance of wei contributed and the amount raised
uint amount = msg.value;
uint currentBalance = balanceOf[msg.sender];
balanceOf[msg.sender] = currentBalance.add(amount);
amountRaised = amountRaised.add(amount);
// Compute the number of tokens to be rewarded to the sender
// Note: it's important for this calculation that both wei
// and PDT have the same number of decimal places (18)
uint numTokens = amount.mul(rate);
// Transfer the tokens from the crowdsale supply to the sender
if (tokenReward.transferFrom(tokenReward.owner(), msg.sender, numTokens)) {
FundTransfer(msg.sender, amount, true);
// Check if the funding goal or cap have been reached
// TODO check impact on gas cost
checkFundingGoal();
checkFundingCap();
}
else {
revert();
}
}
was tun um es zu beheben? (Remix Ropsten aktualisiert keine Senderbilanz).
Jede Hilfe wird sehr geschätzt.Robert
Ich denke, das Problem liegt in der Tatsache, dass die Funktion function balanceOf(address _owner) public view returns (uint256 balance) { return balances[_owner]; }
einen Wert aus den Mapping-Salden zurückgibt, aber Sie verwenden und aktualisieren das Mapping mit dem Namen balanceOf
. Sie könnten eine neue Funktion erstellen, die zurückkehrt, balanceOf[msg.sender]
um zu überprüfen, ob sie funktioniert.
Gabe
Robert