概要
Solidityにはコントラクトから外部のコントラクトを呼ぶ時の方法が4つある.
それぞれの違いをまとめる.
動作の違いまとめ
方法 | msg.sender | storage | イメージ |
---|---|---|---|
直接呼び出し | 呼び出し元コントラクト | 外部コントラクト | 外部コントラクトそのものを実行する |
call | 同上 | 同上 | 同上 |
callcode | 呼び出し元コントラクト | 呼び出し元コントラクト | 外部コントラクトの関数を持ってきて実行する |
delegatecall | トランザクション発行者 | 呼び出し元コントラクト | 外部コントラクトの関数を持ってきて実行する |
コメント
callcodeは推奨されない