0
私は & ethereum
に新規登録しました。msg.senderは内部電話では異なります
のは、私は次の構造(私はもっと複雑ですが、私は、これは今のために働くだろうと思います)があるとしましょう:truffle
からcallingMethod
を呼び出すことにより
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))
....
}
}
を、それが原因でrequire(isOwner(msg.sender))
の失敗。私はmsg.sender
がEvent
を使って所有者と違っていて、その結果をコンソールに表示しているのがわかりましたが、私はその理由を理解していません。
なぜこのようなことが起こっているのですか?ありがとう!
[別の契約を呼び出す契約に関する質問](https://stackoverflow.com/questions/47858489/questions-about-contract-calling-another-contract)の可能な複製 –