Solidity言語

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

Web3.js、Web3プロバイダ、Infura、秘密鍵、Metamask、に関しての記事となります。これから開発をしたい人にとってはCryptoZombiesをやって損する事はありません、、、早いうちにレッスン6を終えて、豪華な特典をいただけるようにしましょう!!理解は後からでもいいと思います!私のようにブログに書いて理解を進めるでもいいと思いますし。やり方は色々あるので、真面目にやるのもいいですが、まずは流れだけ見て流す程度にやって終わらせてから、、しっかりと学ぶ姿勢でやってみたらいいのです!

なんでこれが答えなのだ??と疑問に思う事が解決に繋がる大きな一歩なので、とりあえず通してやってみて、それから一歩ずつ着実に理解していけばいいと思っております。

という事で、午前第二部、スタートしましょう!

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

ではでは開演しましょい!!
 

チャプター2:Web3プロバイダ

29
ほうほう、ブロックチェーンにアクセスさせるためには、Web3.jsを初期化する必要があるとな、、

色んな機能を持ったノードがあって、そのノード一つ一つが同じデータのコピーをシェアしていて、読み書きが得意なノードに処理させるよう働きかけるかをコードに教えてくれる、、、とな、、
それがWeb3.jsのWeb3プロバイダの設定、という事なのか、、

まぁ理解のむずかしい話ですなw

そこで出てくる便利なサービスがInfuraだ、、、いんふら、でいいのかね?

40
コードの続きはこちらに書きますね↓↓

.WebsocketProvider(“wss://mainnet.infura.io/ws”));

Infuraとは、、イーサリアムブロックチェーンとメッセージをしっかりと送受信できるWeb3の機能、という事だろうか。ノードに無料でアクセス可能(ガスプライスの事か??)というのも魅力っぽいですね。

まだよくわからんけど、、w

以上のコードはInfuraをWeb3プロバイダとして使う方法ですね。

56

注意書きしてありますが、、秘密鍵でトランザクション(処理)に署名する方法が必要とあるが、、、
通常、秘密鍵はユーザーが誰にもバレないように秘密裏に保管しておく必要のある鍵であるため、何かしらで入力する事をしてはいけないようなものである。

※詐欺グループの手口としては秘密鍵を得るために、ここに入力してください、と言ってくるだろうから、絶対に秘密鍵は渡さない事、そもそも第三者に秘密鍵を渡す=現金がたんまり入った財布を渡す事、と一緒であるため、中に入ってた現金がなくなったとしても責任とれませんよね。だから絶対に秘密鍵だけは誰にも教えてはいけません、、、というのがWallet設定する際に強調して言われます!

ここでその秘密鍵をどうこうしないと、、、という問題を解決してくれるサービスがある!!

それがMetamaskさんだ!!狐のお面のメタマスクさんです!

08

Dappを既にやられている方であれば、Metamaskは必須なのではないだろうか?私も先々月くらいだったかな、、chromeの拡張機能として、Metamaskはインストールしたものの、そこから先の設定はまったくしていなかった、、そこで、何かしらゲームをやってみようと思い、進めようとしたが英語が読めなくて全くわからなかった、、、

そこでDappゲーマーである、ぴかりんさんこと、ヒカルネモトさんのブログを見つけ、そこにはMetamaskの設定方法も掲載してあり、そこで初めてCSC(CryptoSpaceCommander)にて登録し、Metamaskをログインする事に成功したのだ。ゲームを始めるスタートラインに立てたのは、紛れもなくぴかりんさんのブログのおかげでした!その際に、何もお礼言えなかった事は大変申し訳ない事ですが、今こうしてブログを書いて、Twitterでも繋がる事ができているので、違う形で恩返しできたらなと思っております。

ぴかりんさんは、めちゃくちゃユーモアセンスのある方で、Twitterでとんでもなく危険な(ある意味)ツイートをしている事があります。Twitterの方も登録してみると、なかなかなユーモアな方なのだなと、実感できますよwアフリカのルワンダから発信しているという事で、、、、インターネットって本当にすごいですよね、、、どこからでもできるようになった事実って、一昔前じゃ考えられなかった事っすよね。

話は戻りますが、、w
CSCには事前登録のため、MyEthereumWalletのアドレスを申し込み時に申請して出したのだが、Metamaskにて飛行船を買ったので、事前登録特典の飛行船プレゼントの対象にはならなかった可能性があるが、、、まぁそれはよしとしようwもしかしたらMEWの方にあるのかもしれませんしな。

25

、ここまでスクショで撮った内容を説明していない理由がお分かりだろうか、、、

そう、、理解できていないからだw

よくぞ見破ったな、ワッハッハ、、orz…

自分としては、こういった一連の細かい作業などを含め、Metamaskがやってくれるから大丈夫だよ、、そのMetamaskを実装していく方法を学べばいいんだよね?という逆ギレ的な考えに切り替わっておりますw
42

あれっ??ここのif文、比較演算子が3つある、、、これは、JavaScriptタイプだな!!

solidityであれば、A != Bとなるはずですからね、、ちらっと勉強してこの三つ比較演算子を使う、という事は理解できたのだよw

54
ほうほう、、Mistというウェブブライザがあるのだね、私はChromeメインで使うようになったので、そのまま利用可能だが、そのほかのブラウザを使っている場合はメッセージにてその詳細を伝える事ができるって事ですな。

それでは、テストだ!!

02

こちらのテストもコピペしなさい、との事なので、、、

window.addEventListener(‘Load’, function() {
if (typeof web3 !== ‘undefined’) {
web3js = new Web3(web3.currentProvider);
} else {

}
startApp()
})

となりますね。コメントは入ってても大丈夫でした!

これを実装した事でMetamaskを検出する事ができるようになった、という事ですな!

このチャプター以降で、おそらくelseの内容に追加されたりあると思うので、それは乞うご期待という感じですね。

チャプター毎で1記事ですね、、、一気に行きたいところですが理解するためにも大事に行っております!理解できないで進めたところで、ブログに書く意味がないですからね、、

自分のために、、そして同じ思いを抱いている人のためになればと、思っております。

今日はサラリーマンとしての最終日であります。
保険証を返却しに会社に行くのと、その足でそのまま函館市内まで行って、社会保険事務所とハローワークに行ってこようと思っているので、昼からの時間は、移動と手続きの時間となりそうなので、移動時間は完全にVoicyタイムになりますな!

午後からは更新できないと思うので、明日たくさん書こうと思います!

今日の夜には、CryptoZombiesハードフォーク予定という事なので、さらに色々と楽しみがあるので、今晩はねれないかも、、、w

アルトコイン勢も調子が良くって、Cryptofolioを見るたびにニヤニヤしておりますw上昇傾向はやっぱし楽しいですね!

毎日ワクワクできるって幸せですな!
これからはどんどんチャレンジして行きますので、今後ともよろしくお願いします!!

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

それではまた明日!!

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