FC2ブログ

BLOCKCHAIN Code Campはじめました!

どうも、ぺろりんです。

このほど2~3か月くらい時間ができたので、この機会にガッツリとブロックチェーンのお勉強をしてみようとBLOCKCHAIN Code Campのコースを申し込んでみました!

気になってるけど内容がわからなくて受講をためらっている方や、ブロックチェーンを勉強できるコースを探している方などに向けてレビューを書いておこうかと思います。


BLOCKCHAIN Code Campとは?


BLOCKCHAIN Code Camp(ブロックチェーンコードキャンプ)は、オンライン完結でブロックチェーンアプリ開発を勉強できるプログラミングスクールです。

以下のような特徴があります。
・DApps開発できるようになる。
・現役エンジニアによるサポートが受けられる。
・卒業後にキャリアアップ支援がある。(確認したところ、有効期限は受講後1年間だそうです)


コース内容


パッケージ化されているコースは以下の2種類があります。
(1)Web+ブロックチェーンアプリケーションコース
(2)ブロックチェーンアプリケーションコース

(1)はWEBサイトやアプリの開発初心者対象で、HTMLやCSS、JavaScriptから学習できます。
これらを学んでからEthereumのプログラミング言語であるSolidityを勉強し、DApps開発を学びます。

(2)はフロントエンド技術を習得済みの方が対象で、こちらはいきなりSolidityから勉強します。
DApps開発を目標とするところは(1)と同じです。

今回受講してみた印象だと、受講期間やコース内容などの細かいところは、カウンセリングで相談すれば結構融通をきかせてカスタマイズしてもらえそうです。
今後受講者が増えるとどうなるかわからないので、今が始めどきかも知れませんw

最終課題はDApps開発で、作りたいものがある(もしくは受講中に作りたいものができた)場合はメンターのサポートを受けながらそれを作成、特に作りたいものがなければCryptoZombiesを使った課題が出るそうです。


受講期間・料金


公式ページによると、先ほど挙げたコースについて以下のように設定されています。
(1)期間:4カ月、料金:300,000円(税込)
(2)期間:2カ月、料金:200,000円(税込)


今回の受講内容


今回私が受講したのは「Web+ブロックチェーンアプリケーションコース」です。
ただし2点ほど、現在の公式サイトに記載された内容を持ってきた上記と違いがあります。
(i)受講期間は1か月間
(ii)受講料は74,000円

これらの違いは、ちょうど公式サイトに記載されたコース内容が改訂される前後に申し込んだことと、メンタリング時の相談でカスタマイズしていただいたためです。


(i)受講期間は1か月間


私が申し込んだ時点でのコース受講期間は、WEB+ブロックチェーンが2か月、ブロックチェーンのみが1か月という内容でした。
コース内容の見直し中で、今回受講するにあたっては以前のコース内容が適用されるとのことでした。

これらのコースは社会人が仕事を終えてから平日2~3時間/日を使って学習する想定であることと、私がこの2~3か月間はガッツリ時間を取れることから、この旧プランをベースに2か月のプランを1か月で学習する内容でお願いしました。
(この期間、私は少なくとも平日4~6時間/日を確保できる見込みがあるので、こういう相談をしました)


(ii)受講料は74,000円


旧料金体系では、社会人1か月あたり74,000円(税込)という内容でした。
今回は、この1か月あたりの料金を適用していただけました!
(メンタリング当日に公式サイトの記載が変わっていたので、20~30万円になるかと正直ビビっていましたw)


どこで知ったの?


TwitterでBLOCKCHAIN Code Camp公式を見つけました。
ここから公式サイトに行ってみたら、すごく気になる感じでした。


BLOCKCHAIN Code Campを選んだ理由


私が選んだ理由は以下3点です。
・「DApps開発ができるようになる」という目標が、自分の目標と合致していた。
・受講期間1~2か月、料金が10万円前後で、比較的手が届く内容だった。
 (しかも、受講期間は先述した通りに圧縮できる見込みがあった)
・LINE@の対応が好印象だった。

LINE@に関しては、こんな感じで宣伝されていたのを見つけてめちゃめちゃ軽い気持ちで登録してみましたw

何度か質問してみたところ、わりとマジで秒で返事がきましたw
この対応の速さと、やり取りのフランクな感じが自分に合っていそうだったので受講してみようかなーと思いました。


教材について


教材はGoogleドキュメントです。(なので、Googleアカウントを作っておいた方が良いかも)
Googleドキュメントで作成された独自テキストのリンクが送られてきます。

数章ずつリンクが送られてきて、課題を提出してOKだったら次の章が送られてくるという流れです。

やり取りは基本的にSlackで、質問もこちらで気軽にできます。


受講の流れ


受講するには、まず公式ページ最下部にあるフォームから無料カウンセリングに申し込みます。
ここでいい感じに受講内容を相談して決めて受講を申し込み、カウンセリング後に受講料を支払います。

ちなみに以前LINE@で確認したところ、最短でカウンセリング翌日から受講開始できるそうです。


まとめ


ブロックチェーンのプログラミングスクールBLOCKCHAIN Code Campの受講を始めたので、受講開始までをレビューしてみました!

結構融通をきかせていただきつつスムーズに受講開始できたので、まずまずのスタートです。

受講しないにしても、LINE@の登録はわりとオススメかも。

コースが進んだら、またレビューの続きを書こうと思います。
では今回はこのへんで。

テーマ : プログラミング
ジャンル : コンピュータ

Keyword : ブロックチェーン blockcahin 暗号資産 仮想通貨 暗号通貨 イーサリアム Ethereum DApps プログラミング

ブロックチェーン関連の記事紹介まとめ(2019年6月:#152-181)

どうも、ぺろりんです。

ブロックチェーンや暗号資産(仮想通貨)関連の記事や論文などのデイリー紹介ツイート、6月分のまとめです!
ご興味ある記事があれば、ぜひ元記事も読んでみてください!

<< 2019年5月:#121-151


記事紹介まとめ(2019年6月:#152-181)































































テーマ : ビジネスアイディア
ジャンル : ビジネス

Keyword : ブロックチェーン blockcahin 暗号資産 仮想通貨 暗号通貨 ビットコイン

ブロックチェーン関連の記事紹介まとめ(2019年5月:#121-151)

どうも、ぺろりんです。

ブロックチェーンや暗号資産(仮想通貨)関連の記事や論文などのデイリー紹介ツイート、5月分のまとめです!
ご興味ある記事があれば、ぜひ元記事も読んでみてください!

<< 2019年4月:#91-120
2019年6月:#152-181 >>


記事紹介まとめ(2019年5月:#121-151)

































































テーマ : ビジネスアイディア
ジャンル : ビジネス

Keyword : ブロックチェーン blockcahin 暗号資産 仮想通貨 暗号通貨

ブロックチェーン関連の記事紹介まとめ(2019年4月:#91-120)

どうも、ぺろりんです。

ブロックチェーンや暗号資産(仮想通貨)関連の記事や論文などのデイリー紹介ツイート、4月分のまとめです!
ご興味ある記事があれば、ぜひ元記事も読んでみてください!

<< 2019年3月:#60-90
2019年5月:#121-151 >>


記事紹介まとめ(2019年4月:#91-120)































































テーマ : ビジネスアイディア
ジャンル : ビジネス

Keyword : ブロックチェーン blockcahin 暗号資産 仮想通貨 イーサリアム Ethereum リップル Ripple

「会員管理」機能付きの仮想通貨コントラクトをデプロイしてみる(後編)

どうも、ぺろりんです。

「会員管理」機能付きの仮想通貨コントラクトをデプロイしてみる(前編)」の続きです。

話題としては、「はじめてのブロックチェーン・アプリケーション Ethereumによるスマートコントラクト開発入門 (DEV Engineer's Books)」にある「会員管理」機能付きの仮想通貨コントラクトでした。
やりたいのは、暗号資産(仮想通貨)が1つあって、これに「紐づくユーザーが各々会員情報を持つ」状況をコントラクトで表現することです。

前回はコントラクトをデプロイし、「暗号資産(仮想通貨)のコントラクト」と「会員管理のコントラクト」を紐づけるところまで動かしてみました。

今回は、送金の動作確認と、送金によって「会員管理」部分がちゃんと機能するかという動きをみていきます。


アドレスのまとめ


まずは前回に引き続き、使うアドレスをまとめておきます。

以下4つのアドレスが登場します。
・ユーザーA:0xca35b7d915458ef540ade6068dfe2f44e8fa733c
・ユーザーB:0x14723a09acff6d2a60dcdf7aa4aff308fddc160c
・Membersのデプロイアドレス:0x692a70d2e424a56d2c6c27aa97d1a86395877b3a
・OreOreCoinのデプロイアドレス:0xdc04977a2078c8ffdf086d618d1f961b6c546222


「会員管理」機能付きの仮想通貨コントラクトの動作確認(その2)


送金


引き続き教科書に沿って、ユーザーAからユーザーBへ2000[oc]送金します。

ちなみになぜユーザーAから送金するのかというと、「OreOreCoin」をデプロイすると「デプロイ実行ユーザー」の残高に全OreOreCoinが付与される仕様になっていて、送金によってOreOreCoinを流通させるまではユーザーAしかOreOreCoinを持っていないためです。



では送金してみましょう。

送金するための「transfer」も「msg.sender」を含むので、実行ユーザーを気にする必要があります。
今回はユーザーAから送金するために、実行ユーザーをAにして「transfer」します。



各ユーザーの残高も無事に増減しています。



ユーザーAの「tradingHistory」を見るとカウントが増えているはずなんですが……なぜか更新されない……w(解決するのは後述)



会員ステイタスのランクアップ


会員情報が更新されないですが、めげずに教科書通り、取引を続けてみましょうw

ユーザーAからユーザーBへ、4回100[oc]を送金してみました。


まだ「tradingHistory」更新されないので、「coin」を確認したら値が入ってない……!w


先ほどアドレスを入れようとしたとき、「setCoin」に「onlyOwner」修飾子がかかっているのを忘れて「Members」のオーナーではないユーザーAで実行していた気がします。
「Members」のオーナーであるユーザーBを実行ユーザーにして、再度「setCoin」で「OreOreCoin」のアドレスを「coin」に代入してみます。

ちゃんと「coin」にアドレスが入りました。


再度ユーザーAからユーザーBへ、1回100[oc]を送金。


今度はちゃんと「tradingHistory」が更新されていました。


さらにユーザーAからユーザーBへ、100[oc]を送金を繰り返すと、「statusIndex」が「2」になりました。


ちなみに、「transfer」は送金の実行ユーザーを「msg.sender」で取得して「updateHistory」という「tradingHistory」更新のための関数を呼び出すので、送金を実行していないユーザーBの「tradingHistory」は更新されていません。



キャッシュバック機能の確認


ユーザーAへのキャッシュバック率を「getCashbackRate」で確認すると、ちゃんと「Silver」の「5」(%)になっています。


先ほど送金を数回した途中で(ボタンを押しすぎてw)「Silver」になってしまい、最後の送金にはキャッシュバックが反映されていました。
ユーザーAの残高に100×5%の5[oc]という端数が現れています。



「updateHistory」の実行ユーザーについて


「updateHistory」は「onlyCoin」という、「OreOreCoin」しか実行できないようにする修飾子がついています。
ユーザーではない「OreOreCoin」が実行するというのがどういうことなのか、個人的にはこれがちょっと気持ち悪くて考えてみました。

結論としては、「OreOreCoin」に定義された「transfer」が「updateHistory」を呼ぶとき、“msg.sender=OreOreCoinのアドレス”になっていると思われます。

このあたりの関数の呼び出しが、次の図のような構造になっていると考えるのが良いのかな、と思います。


「transfer」を呼ぶのはユーザーAなんですが、「updateHistory」は「OreOreCoin」が呼んでいると考える必要がありそうです。


まとめ


今回は、前編と後編に分けて「はじめてのブロックチェーン・アプリケーション Ethereumによるスマートコントラクト開発入門 (DEV Engineer's Books)」の「会員管理」機能付きの仮想通貨コントラクトで遊んでみました。

“暗号資産(仮想通貨)が1つあって、これに「紐づくユーザーが各々会員情報を持つ」状況をコントラクトで表現する”ことをやってみました。

このコントラクトのコードと動きを理解するにあたって、個人的には以下の点がポイントだと感じました。
(1)コントラクト名と関数名が入れ子になっていて、コードをしっかり追う必要があった。(「setMembers」は「OreOreCoin」、「setCoin」は「Members」内に定義されている)
(2)関数の定義に関わることから、実行ユーザーを気にする必要があった。(「msg.sender」や「onlyOwner」修飾子による)
(C)mapping型は「連想“配列”」なので、配列になっている。(これをポイントに挙げるのは、特に個人的な勉強不足ゆえですw)

……と、こんな感じの内容でした。
同じようなところで詰まった方のお役に立てれば幸いです。

それではこのへんで。

テーマ : プログラミング
ジャンル : コンピュータ

Keyword : ブロックチェーン blockcahin 仮想通貨 暗号資産 イーサリアム Ethereum Solidity

プロフィール

ぺろりん

Author:ぺろりん
まだ始まってもいない暗号資産(仮想通貨)、今後が楽しみです。
基本的な技術をちゃんと知りたいなぁと思いつつ、まったりお勉強していこうかと思います。

twitter:ぺろりん@ぶろっくちぇーん

カテゴリ
最新記事
最新コメント
月別アーカイブ
カレンダー
06 | 2019/07 | 08
- 1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31 - - -
検索フォーム
RSSリンクの表示
リンク
ブロとも申請フォーム

この人とブロともになる

QRコード
QR
メールフォーム

名前:
メール:
件名:
本文: