설명출처: https://www.youtube.com/watch?v=NnZ0KOy2yJY&list=PLJQKWHLhBrxI43w0DU4uQrhWv4Pm1OFlx&index=37
특징
1. 송금하기
2. 외부 스마트컨트랙 함수 부르기
3. 가변적인 gas
4. 이스탄불 하드포크, call 사용권장 가스가격 상승해서
5. re-entrancy 재진입
call vs Delegate call
Delegate call:
1. msg.sender가 본래의 스마트 컨트랙 사용자를 나타낸다.
2. delegate call이 정의된 스마트 컨트랙(즉 caller)이 외부 컨트랙의 함수들dmf 마치 자신의 것처럼 사용하고
(실질적인 값도 caller에 저장된다)
조건
외부 스마트컨트랙과 caller 스마트컨트랙은 같은 변수를 갖고 있어야한다


블록체인 특성상 이미 배포된 코드를 수정할 수 없다.
Delegate Call를 사용하면 B코드에 적힌 코드로 적립된 포인트가 A에 저장된다.
그래서 스마트컨트랙B 기존꺼를 끊고 새로운 스마트컨트랙B2를 이어준다.
'블록체인 > 솔리디티' 카테고리의 다른 글
truffle migrate이슈 (truffle명령어) [Error: *** Deployment Failed ***] (0) | 2022.02.28 |
---|---|
ParserError: Expected primary expression 오류 (0) | 2022.02.28 |
payable (생성자에 넣기, 특정계정 권한주기, 함수수정modifier) (0) | 2022.02.27 |
이더리움 송금 스마트컨트랙트 코드(이더잔액: 주소.balance, msg.value:송금액,msg.sender:보내는자) (0) | 2022.02.26 |
vscode에서 solidity 솔리디티 사용하기 (환경설정,버전오류) (0) | 2022.02.10 |