Lesson 2 Chapter2 EVENT AddressesとMappings
Addresses
イーサリアムブロックチェーンのアカウントには、42桁(0xに続く40文字の16進数)の英数字アドレスがある。
このアドレスはユニークな識別番号になっていて、Ether(イーサ)残高やユーザーIDが記録されている。
1. [ECDSA] の [secp256k1] 曲線を使用して秘密鍵を生成
2. 秘密鍵から公開鍵を導出
3. 公開鍵を Keccak-256 でハッシュ化
4. 最後の160 bit (20bytes, 40文字の16進数) ぶんを取得
5. 先頭に0xをつけた16進数文字列形式にする
-
BIP39アルゴリズム
ニーモニックから秘密鍵を生成 bip39/README.md Mnemonic Code Converter
新しいAddressesをもつゾンビの作成
新しいゾンビを作ったら関数を呼び出して、イーサリアムのアドレスをそのゾンビに設定する。
Mappings(マッピング)は、構造体と配列のようにデータを格納するときにSolidityで使える方法の一つ。
mapping (address => uint) public accountBalance;
// もしくは、ユーザーIdを基にユーザー名を参照・格納するために使用するぞ:
mapping (uint => string) userIdToName;
最初の例で言えば、キーはaddress で、バリュー(値)はuint。
2番目の例だと、キーは uint で、バリューは string。
mapping (address => uint) ownerZombieCount;
ownerZombieCountは、添字に address 型をとる変数。値は uint 型になる。
mapping(address => uint) public balances;
とすると、 balances という変数は添字に address 型をとる変数になって、その値は uint 型だ、という読み方になる。
prev
-
クリプトゾンビ Lesson 1 Chapter13 EVENT
Lesson 1 Chapter13 EVENT Events は、ブロックチェーンで何かが生じたときにコントラクトがフロントエンド処理(アプリ)に伝えることができる仕組み。 Solidity はバッ ...
next
-
クリプトゾンビ Lesson 2 Chapter3 Msg.sender
Msg.sender msg.senderは、関数を呼び出したユーザーやスマートコントラクトのaddressを参照できるグローバル変数ひとつ。 msg.sender(address):メッセージの送信 ...