반응형
- 솔리디티 스마트 컨트랙트에서 external call 을 할 때 (예를 들면 safeMint 함수) 호출한 외부 함수에서 나의 함수를 재호출하는 위험이 있다.
- 이를 방지하기 위해 우선적으로는 require 문에서 권한 또는 정보의 유효성을 체크할 수 있다.
- 다만 함수 내에서 실행하는 로직에 의해 require 문 만족 여부가 바뀌는 경우가 있을 수 있다.
- 따라서 함수 내에서 변경하고자 하는 값이 있다면 external call 을 요청하기 전에 모두 실행해야 한다.
- 결론: external call 의 위치 함수의 끝에 작성하도록 한다.
반응형
'블록체인 > 이더리움' 카테고리의 다른 글
트랜잭션 hash 를 가장 빨리 받는 방법 (0) | 2022.05.04 |
---|---|
msg.sender vs _msgSender() (0) | 2022.05.02 |
오픈씨는 왜 WETH 를 사용할까? (0) | 2022.04.28 |
getPastEvents 함수의 방대한 결과값을 순차적으로 처리하는 방법 (0) | 2022.03.18 |
이더리움 화이트리스트 추출 방법 (0) | 2022.03.16 |