【Solidity】自身のコントラクトアドレスを取得するには?

Solidityにおいて、自身のコントラクトアドレスを取得する方法について解説します。

構文

Solidityで自身のコントラクトアドレスを取得するには、以下のようにします。

address(this)

サンプルコード

// SPDX-License-Identifier: GPL-3.0

pragma solidity >=0.7.0 <0.9.0;

contract Test {

    function getMyAddress() public view returns(address) {
        // 自身のコントラクトアドレスを取得
        return address(this);
    }

}

thisというのは“自分自身”つまり自身のコントラクトという意味ですね。それをaddress関数の引数に渡すことで、自身のコントラクトアドレスを取得しています。

タイトルとURLをコピーしました