1

solidity&ethereum開発初心者です。

私が次の構造を持っているとしましょう(私のものはもっと複雑ですが、今のところこれでうまくいくと思います):

contract A {
  address public owner;
  function A() public {
      owner = msg.sender;
  }

  isOwner(address _addr) {
      return _addr == owner;
  }
}

contract Base is A { 
     ....
     someMethod(address _addr) {
        require(isOwner(msg.sender))

        // do something with _addr
     }
}

contract SomeContract{
     Base public baseContract;
     function SomeContract(Base _base) { 
        baseContract = _base
     }
     callingMethod() {
        ....
        require(baseContract.someMethod(msg.sender))
        ....
     }
}

callingMethodから呼び出すとtruffle、 が原因で失敗しますrequire(isOwner(msg.sender))msg.senderを使用してその結果をコンソールに出力する所有者とは異なることがわかりましたEventが、その理由はわかりません。

なぜこれが起こっているのか知っている人はいますか?ありがとう !

4

1 に答える 1