Ограничить функцию Solidity как вызываемую только другой функцией

Как я могу сделать так, чтобы функция Solidity вызывалась только другими функциями в том же контракте? и это не видно в etherscan или remix как нормальная функция.

Например:

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);
          }

}

здесь мне нужно, чтобы функция «сумматор» была доступна только для другой функции, такой как «добавить». но ко мне не может получить доступ пользователь через ремикс или etherscan

Ответы (1)

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

просто измените видимость вашей adderфункции с publicна internalилиprivate

publicозначает, что функция доступна как изнутри, так и снаружи.

internalозначает, что функция доступна только из самого контракта и контрактов, наследуемых от этого контракта.

privateозначает, что функция может быть вызвана только внутри самого смарт-контракта.