Solidity言語

レッスン6:未知なる領域を開拓せよ⑤

アプリユーザーのアドレスを知る方法、Metamaskのアカウントに関して、などを簡単にではありますが説明しております。このチャプターを通じて、もう少しMetamaskについて詳しく調べてみようと思いましたね。現在ETHはウォレットにいれて、CSCの飛行船を買ったりやってみました!他にも通貨を入れることができるみたいなので、ウォレット管理していないGOXリスクのある仮想通貨はMetamaskに入れようと思います!

そして今朝、第2回目のSpeakeeのテスト配信を行いました。2回目にしてトラブル発生(システムではない)しましたが、それもそのまま残してみましたwそういうハプニングは付き物なので、そういうのを隠すよりも、ネタにした方が後々面白いコンテンツができますからね。
自分の繕った姿を配信したところで、ボロが出ますからね。実名投稿のこんなクソ野郎だという事を発信できたらいいなと思っておりますw

さてさて行きますか、、

CryptoZombies | イーサリアムでのゲーム開発を学ぶ

それでは開演します!

チャプター5:Metamaskとアカウント

43

ほうほう、、どのように知ることができるのか、興味がありますな!
よくチャットとかだと、ログイン中です、っていうアイコンが付いてたりしますよね、

ブロックチェーン上に所有者が誰で、所有しているゾンビが何体いて、っていう情報は刻まれているとは思うのだが、具体的な知る方法はどんな仕組みなのだ、、

58

Metamaskって例えばですけど、イーサリアムウォレット①というのを使ってたとして、Metamask上で切り替えて、イーサリアムウォレット②のアドレスも使用可能だというのを何かの記事で読みました。

Metamaskという財布の中に、別の種類のお金(通貨)が入れれるというような事なのだと、、、最近理解したw

いろんなウォレットがありますが、その通貨のみのウォレットのイメージが強かったので、こういう使い方のできるウォレットは他にもあると思うですが、段々とリアルに使用可能になっているのだなと、実感しているところでございます。

勉強してて最近知ったとか、情弱ぶりがやばいですが、、知らない事を知ったかぶりするよりはましですよね!!そこから知って更に知る事を増やしていけばいいのだからね。

なので、アカウントを変更したら違うアカウントのゾンビ軍団を表示しなければならないというのはそういう事ですよね。

確認方法は上記のとおりという事ですね。この形見慣れてきましたね、、
= web3.eth.accounts[0]

07

まず、100ミリセックごとに、、とありますが、時間の話をしているのはわかりますが、、

1ミリセック(msec)とは、、、1000分の1秒の事ですね。1sec(秒) = 1000msecとなります。

なので100msecは、0.1secとなるので0.1秒毎にアカウントがアクティブであるかを常にチェックしているという事ですな。。

すごい作業を毎度している事になりますよね、、、これを人間が毎回チェックしていたら、過労死しますねw

それではテストじゃ〜!

17

1ではuserAccountという名のvarを宣言せよ、との事なので、

var userAccount;

となります。

2ではaccountIntervalのテンプレートコードをコピペせよ、なので、、

var accountInterval = setInterval(function() {
if (web3.eth.accounts[0] !== userAccount) {
userAccount = web3.eth.accounts[0];
updateInterface();

}
}, 100);


となります。

3ではupdateInterface();の行をgetZombiesByOwner()へのコールに置き換えて、userAccountを渡せ、との事なので、、

getZombiesByOwner(userAccount);

となります。上記の赤色で表示した部分に3の回答をいれてください。

4ではthenステートメントを続け、その結果はdisplayZombiesという名前の関数に渡せ、との事なので3の部分に追記しても良いが、、、

.then(displayZombies);

となります。3と4は続くので、セミコロンは最後だけにつける形となりますね。なので3で書いているセミコロンは必要ありませんので、重複しないようにね。

まとめると、、、

var userAccount;


var accountInterval = setInterval(function({
if (web3.eth.accounts[0] !== userAccount) {
userAccount = web3.eth.accounts[0];
getZombiesByOwner(userAccount)
.then(displayZombies);
}
}, 100);

となります!

少しずつではありますが、理解できております。。

実践でやったときにはすんなりは出てこないとは思いますが、そこも経験して調べてやるという事をしなければ覚えれないと思うので、あとは実践の積み重ね、ですな。。

というわけで本日午前第一部は終了いたします!!

CryptoZombies | イーサリアムでのゲーム開発を学ぶ

ではまた後ほど!

ABOUT ME
shidayuu
元バンドマンで読書・書評をしている函館在住32歳、しだゆうと申します! このブログでは主に読書した内容を元に、「ヒラメキを発信する」をテーマとして毎日更新しています。 書評をメインに、たまに元バンドマンの知識を発信していきます! あなたの役に立てる記事を書いていきます!