inflearn logo
강의

Course

Instructor

ERC20 Breaking (+ truffle, frontend)

call

솔리디티

445

impatrick972466

9 asked

1

callWhoIsMsgSender 와 whoIsMsgSender 함수 두개 모두 호출한건 lec13의 컨트랙 주소인건가요?

블록체인 blockchain truffle solidity Smart Contract

Answer 1

0

done

안녕하세요 제원님 :)

먼저, lec13_1whoIsMsgSender 라는 함수를 갖고 있습니다.

whoIsMsgSender msg.sender를 반환을 합니다.

msg.sender는 트랜잭션을 보낸 주소 입니다,

즉 여기에서는, whoIsMsgSender 를 실행한 (트랜잭션을 보낸) 주소라고 생각하시면 됩니다.

 

자 그러면,

lec13의 함수 callWhoIsMsgSenderlec13_1의 함수 whoIsMsgSender 를 실행하고 (트랜잭션을 보내고) 있습니다.

lec13_1의 함수 whoIsMsgSender의 입장에서 생각을 하면, lec13의 함수 callWhoIsMsgSender가 실행한것이기에, whoIsMsgSender의 msg.sender는 lec13주소가 됩니다.

자 그러면, lec13의 함수 callWhoIsMsgSenderlec13_1의 함수 whoIsMsgSender 를 실행을 시키려면, 누군가 lec13의 함수 callWhoIsMsgSender를 실행해야겠죠?

예를 들어서, Alicelec13의 함수 callWhoIsMsgSender 를 실행시켰다고 가정했을때,

lec13의 함수 callWhoIsMsgSender msg.senderAlice의 주소가 되겠죠.

 

자 그러면, 정리해서 한번 볼까요?

Alice ---트랜잭션 보냄---> lec13의 함수 callWhoIsMsgSender ---트랜잭션 보냄---> lec13_1의 함수 whoIsMsgSender

입니다.

즉, lec13의 함수 callWhoIsMsgSender 입장에서는 Alice가 자신을 실행시켰으니, lec13의 함수 callWhoIsMsgSender msg.senderAlice 의 주소가 되겠죠.

반면에,

lec13_1의 함수 whoIsMsgSender lec13의 함수 callWhoIsMsgSender 가 자신을 실행 시켰으니, lec13의 함수 callWhoIsMsgSender msg.senderlec13의 주소가 되겠죠.

 

혹시 궁금한점 있으시면, 질문 남겨주세요 :))

감사합니다 :)

 

 

 

 

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