0
안녕하세요 저는 solidity
& 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) –