Wie kann ich eine Soliditätsfunktion so einstellen, dass sie nur von anderen Funktionen im selben Vertrag aufgerufen werden kann? und es ist in Etherscan oder Remix nicht als normale Funktion sichtbar.
Z.B:
contract Calc {
function add(uint a, uint b) public returns(uint) {
return adder(a,b);
}
function adder(uint a, uint b) public returns(uint) {
return (a+b);
}
}
Hier muss ich die Funktion „adder“ nur für andere Funktionen wie „add“ zugänglich machen. Der Benutzer kann jedoch nicht über Remix oder Etherscan auf mich zugreifen
function adder(uint a, uint b) public returns(uint) {
return (a+b);
}
Ändern Sie einfach die Sichtbarkeit Ihrer adder
Funktion von public
auf internal
oderprivate
public
bedeutet, dass die Funktion von innen und außen zugänglich ist.
internal
bedeutet, dass die Funktion nur aus dem Vertrag selbst und Verträgen, die von diesem Vertrag erben, zugänglich ist.
private
bedeutet, dass die Funktion nur innerhalb des sehr intelligenten Vertrags aufrufbar ist.