솔리디티
445
9 asked
callWhoIsMsgSender 와 whoIsMsgSender 함수 두개 모두 호출한건 lec13의 컨트랙 주소인건가요?
Answer 1
0
안녕하세요 제원님 :)
먼저, lec13_1은 whoIsMsgSender 라는 함수를 갖고 있습니다.
whoIsMsgSender 는 msg.sender를 반환을 합니다.
msg.sender는 트랜잭션을 보낸 주소 입니다,
즉 여기에서는, whoIsMsgSender 를 실행한 (트랜잭션을 보낸) 주소라고 생각하시면 됩니다.
자 그러면,
lec13의 함수 callWhoIsMsgSender는 lec13_1의 함수 whoIsMsgSender 를 실행하고 (트랜잭션을 보내고) 있습니다.
즉 lec13_1의 함수 whoIsMsgSender의 입장에서 생각을 하면, lec13의 함수 callWhoIsMsgSender가 실행한것이기에, whoIsMsgSender의 msg.sender는 lec13주소가 됩니다.
자 그러면, lec13의 함수 callWhoIsMsgSender가 lec13_1의 함수 whoIsMsgSender 를 실행을 시키려면, 누군가 lec13의 함수 callWhoIsMsgSender를 실행해야겠죠?
예를 들어서, Alice가 lec13의 함수 callWhoIsMsgSender 를 실행시켰다고 가정했을때,
lec13의 함수 callWhoIsMsgSender 의 msg.sender는 Alice의 주소가 되겠죠.
자 그러면, 정리해서 한번 볼까요?
Alice ---트랜잭션 보냄---> lec13의 함수 callWhoIsMsgSender ---트랜잭션 보냄---> lec13_1의 함수 whoIsMsgSender
입니다.
즉, lec13의 함수 callWhoIsMsgSender 입장에서는 Alice가 자신을 실행시켰으니, lec13의 함수 callWhoIsMsgSender 의 msg.sender는 Alice 의 주소가 되겠죠.
반면에,
lec13_1의 함수 whoIsMsgSender 는 lec13의 함수 callWhoIsMsgSender 가 자신을 실행 시켰으니, lec13의 함수 callWhoIsMsgSender 의 msg.sender는 lec13의 주소가 되겠죠.
혹시 궁금한점 있으시면, 질문 남겨주세요 :))
감사합니다 :)
2025년으로 업데이트된 이더리움 마스터링 강의 내용에 대한 문의
0
51
2
강의자료 요청드립니다.
0
47
1
실습하는 영상은 없는 건가요?
0
78
3
LAYER2
0
92
1
Web3.js1
0
125
2
컴파일 및 배포
0
175
1
컴파일 및 배포
0
190
4
rinkeby testnet 사용
0
134
1
강의 업데이트 문의
1
498
1
fallback
1
443
1
pure view
1
450
1
SafeMath 함수
1
560
1
안녕하세요 강사님 질문이 있습니다
1
312
1
function 매개변수에 관한 질문이 있습니다
1
326
2
가스비 질문이 있습니다
1
357
2
Ownable에 대해서 질문이 있습니다
1
350
1
ERC20과 프론트엔드연결 지갑 변경 관련 질문 입니다!
1
367
2
ERC20과 프론트엔드 연결 테스트 코드 질문입니다.
1
215
1
migration 질문
0
560
1
Chai와 Chai BN강의 부분이 50분 강의로 되어 있습니다.
0
231
1
강의가 일부분 누락되어 있습니다(해결)
0
226
1
truffle react box 질문입니다
0
309
1
expect 테스트가 정상적으로 동작하지 않습니다
1
192
1
솔리디티 깨부수기 강의 순서
1
198
1

