CODEDRAGON ㆍSecurity/Blockchain
함수 호출(Function Calls)
함수를 호출하는 방식은 스마트 계약 내에서 이루어지는 Internal function call 내부 함수 호출과 타 Contract의 함수를 호출하는 External Function Call 외부함수 호출로 구분됩니다.
· Internal Function Call
· External Function Call
Internal Function Call
· 내부 함수 호출은 Contract 내부에서 함수를 호출합니다. 동일 스마트 계약 내 함수들끼리만 가능합니다.
· EVM 내에서의 단순한 호출이므로 현재의 메모리 상태가 유지되는 특징이 있습니다.
External Function Call
· 외부 함수 호출은 타 스마트 계약의 함수를 호출합니다.
· 내부 함수 호출이 단순 호출(Simple jump)인 데 반해서 외부 함수 호출은 Message Call 형태를 띠게 됩니다.
· 함수 호출에 따라 변숫값(메모리에 저장된 값)는 복제되어 전달됩니다.
· Message Call 형태이므로 value와 gas가 전달되어야 하며, .value()와 .gas()함수를 통해서 호출됩니다.
Internal Function Call vs External Function Call
Internal Function Call |
External Function Call |
단순 호출(Simple jump) |
메시지콜(Message Call) |
'Security > Blockchain' 카테고리의 다른 글
상태(state) (0) | 2020.02.20 |
---|---|
상태 변환 시스템, 상태 변환 (0) | 2020.02.15 |
이더리움 통화량 (0) | 2020.02.02 |
비트코인 블록 탐색기(Blockchain Explorer) (0) | 2020.01.27 |
특수용도 변수들 & 함수들 (0) | 2020.01.21 |