함수 호출(Function Calls) - Internal Function Call vs External Function Call

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