함수 호출(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