単純に自然数を保管するコントラクトです。
// SPDX-License-Identifier: MIT
pragma solidity ^0.6.0;
contract AccountMapping {
// 自然数の変数を定義
uint256 accountNumber;
// 自然数に値を追加
function store(uint256 _accountNumber) public {
accountNumber = _accountNumber;
}
// 自然数を確認
function retrieve() public view returns (uint256){
return accountNumber;
}
}
文字列と数値のマッピングを保管し、文字列を入力したらマッピングされている数値を表示するコントラクトです。配列にも保管してるのでインデックス検索も可能です。
活用例:
名前と銀行口座番号(数値)をマッピングしておき、名前を入力したら銀行口座が返されます
// SPDX-License-Identifier: MIT
pragma solidity ^0.6.0;
contract AccountMapping {
// 変数をグループ化
struct People {
uint256 accountNumber;
string name;
}
// People形式の空の配列をpeopleと名付ける
People[] people;
// マッピングを定義
mapping(string => uint256) public nameToAccountNumber;
// 配列に人を追加し、マッピングも設定する関数
function addPerson(string memory _name, uint256 _accountNumber) public {
people.push(People(_accountNumber, _name));
nameToAccountNumber[_name] = _accountNumber;
}
// 配列のインデックスを指定してデータを取得する関数
function getPersonByIndex(uint256 _personIndex) public view returns(uint256 accountNumber, string memory name) {
return (people[_personIndex].accountNumber, people[_personIndex].name);
}
}