メインコンテンツまでスキップ

Practice

復習も兼ねてこんなコントラクトを作ってください
以下を remix でデプロイしてみて遊んでください。
これまでの知識を参考にして組み立てましょう!

  • あなたの名前がコントラクト名

  • 状態変数は名前、年齢、性別、住所をそれぞれ public で宣言

    • 名前、性別は constant にして初期値を与える。年齢は immutable にする
    • 住所は public のみで宣言
  • Ethereum のアドレス変数 owner を public のみで宣言

  • constructor で年齢は 初期値を与えて、owner にコントラクト作成者のアドレスを保存する

  • 住所を変えれる関数を作ってあげる

    • 住所を変更してみる

Remixで作る

回答例

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.13;

contract Thurendous {
string public constant NAME = 'thurendous';
string public constant GENDER = 'middle';
uint public immutable AGE;
string public myAddress;
address public owner;

// デプロイする際にconstructorの引数を入れて実行しよう
constructor(uint _age) {
owner = msg.sender;
AGE = _age;
}

function changeAddress(string calldata _address) public {
myAddress = _address;
}
}

Remixで試す