Versuchen Sie stattdessen Folgendes:
interface ERC20I {
function transfer(address _recipient, uint256 _amount) public returns (bool);
}
contract Crowdsale {
ERC20I public tokenInterface;
function Crowdsale(address _tokenAddress) {
tokenInterface = ERC20I(_tokenAddress);
}
}
Wenn Sie dann Geld überweisen möchten, verwenden Sie diesen Code:require(tokenInterface.transfer(recipient, amount));
Sie können diese Warnung einfach ignorieren oder, wenn Sie sie loswerden möchten, die folgende Deklaration verwenden:
contract token { function transfer(address , uint ){ } }
Anstatt von
function transfer(address receiver, uint amount){ }
Vielleicht verwenden Sie das Betragsfeld nicht, wenn Sie versuchen, Token-Belohnungen zu senden? Können Sie den vollständigen Code des Vertrags hier einfügen oder über ethfiddle.io teilen?
Ich habe im Blockgeek-Kurs einige grundlegende Crowdfunding-Vertragsentwicklungen durchgeführt. Vielleicht können Sie die Vorlage verwenden, die ich von dort abgeholt habe: https://ethfiddle.com/TN9MtiBVKq
Im Allgemeinen ist Ethfiddle ein guter Ort, um Ihren Code zu kompilieren und Fehler zu sehen, die auftauchen. Mist ist wirklich nicht der beste Ort, um Ihren Code zu überprüfen.
Die Warnung ist da, weil Sie die beiden Variablen, die in der Übertragungsfunktion übergeben werden, nicht verwenden.
Sie übergeben zwei Variablen Adresse Empfänger und uint Betrag an die Übertragungsfunktion und die Funktion ist leer.
contract token {
function transfer(address receiver, uint amount) {
//...
//use the parameters here to avoid the warning.
}
}
BalaChandra
Richard Horrocks
Richard Horrocks
Richard Horrocks