Beschränken Sie die Solidity-Funktion, da sie nur von einer anderen Funktion aufgerufen werden kann

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

Antworten (1)

function adder(uint a, uint b) public returns(uint) {
                return (a+b);
          }

Ändern Sie einfach die Sichtbarkeit Ihrer adderFunktion von publicauf internaloderprivate

publicbedeutet, dass die Funktion von innen und außen zugänglich ist.

internalbedeutet, dass die Funktion nur aus dem Vertrag selbst und Verträgen, die von diesem Vertrag erben, zugänglich ist.

privatebedeutet, dass die Funktion nur innerhalb des sehr intelligenten Vertrags aufrufbar ist.