meine IDE ist vs (kann finden, dass die Solc-Version 0.4.17 ist), aber meine Solcjs ist 0.4.24. Wenn ich diesen einfachen Code ausführe
`pragma solidity^ 0.4.45;
contract test{
function multiply(uint a) constant returns(uint d){
return a*7;
}
}
Es gibt eine Warnung "security/enforce-explicit-visibility: No Visibility Specific Specific for Multiply Function."
Wenn ich einen anderen einfachen Code ausführe, kommt eine Warnung mit "[solc] Funktionszustandsveränderlichkeit kann auf rein beschränkt werden".
Gibt es einen Fehler bei Versionskonflikten über solc/solcjs? Wie löse ich es?
Die erste Warnung besagt, dass Sie vergessen haben, die Sichtbarkeit (öffentlich, privat, extern oder intern) Ihrer Funktion zu markieren.
Die zweite bedeutet, dass Ihre Funktion als markiert werden kann pure
, was bedeutet, dass sie nicht aus der Blockchain liest oder schreibt. constant
oder view
Funktionen dürfen aus der Blockchain lesen, Ihre jedoch nicht.
Weitere Einzelheiten finden Sie in den Dokumenten
Dies sollte einige Warnungen beseitigen:
pragma solidity ^0.4.24;
contract test{
function multiply(uint a) public pure returns(uint d){
return a*7;
}
}