普段からブロックチェーン界隈で仕事をしており、ブロックチェーンの実ビジネスへの活用を推進すべく奮闘しています。
昨年末の仮想通貨バブルを機に、一気に仮想通貨・ブロックチェーンへの認知や関心が高まってきたように思いますが、それでもまだPoCを超えて実ビジネスで活用されている例は限られていると言って良いでしょう。
ブロックチェーンを専門で学ばれていない方に分かりやすくメリットを伝えて活用を促すことは今でも簡単なことではありません。そこで、「プロトタイプを自分で作って見せれば相手ももっと理解しやすいのでは!」と思い、私は非エンジニアのバックグラウンドだったのですが、勉強をしてみることにしました。
ブロックチェーンどころかプログラミング自体がほぼ初心者だったものの、ちょうどTechAcademyがブロックチェーンコースの募集をしていたため、良い機会だと思い受講してみました。
ブロックチェーンコースは、TechAcademyの特別コースとしてAI等と並んで提供されています。私は一期生として、2月中旬から始まる8週間のプログラムに参加しました。
開始前のステータス
・ブロックチェーンに関する知識:それなりに詳しい
・プログラミング経験:ほぼゼロ
・講座受講の目的:DAppsのプロトタイプを自分で作れるようになりたい
講座概要
・期間:8週間
・価格:189,000円 + テキスト代
・メンタリング:週2回30分ずつ、完全オンライン
・習得スキル:
(1)ブロックチェーン技術の理解
(2)Ethereumプライベートネットワークの構築
(3)Solidityでのスマートコントラクト開発
それなりの高いお金を払う必要がありますが、仮想通貨バブルで受けた恩恵のおかげでなんとか払うことができました(笑)
講座詳細と雑感
(1)ブロックチェーン技術の理解
テキストを読んで基礎知識を入れることはもちろんですが、実際に手を動かしてみる課題が与えられます。データをハッシュ化したり、秘密鍵や公開鍵を作成したり、秘密鍵からデジタル署名を作成し公開鍵で検証したりすることで、ブロックチェーンの根幹となる暗号技術について理解を深めることができます。
テキストに細かく手順が書いてあるため、プログラミング初心者の私でしたが、スムーズにこの部分は終わらせることができました。
(2)Ethereumプライベートネットワークの構築
EthereumクライアントであるGethをインストールして、PCのローカルにプライベートネットワークを構築します。プライベートネットワークなので、実際のEtherとは異なりますが、マイニングをしたり、Etherの送金をしてみたりします。
マイニングがうまく動かずかなりフラストレーションが溜まりましたが・・・、なんとかここの部分も乗り切ることができました。
(3)Solidityでのスマートコントラクト開発
Ethereum上で動作するアプリはSolidityという言語で開発されます。JavaScriptに似た構文を持っているため、JavaScriptを学んだことがある方は、比較的スムーズにSolidityも理解することができるのではないかと思います。課題を通じて、クラウドファンディング(ICO)・オークション・抽選・掲示板などのスマートコントラクトを開発します。
講座の一番重要な部分であり、最も楽しい箇所ではありますが、最も私が心が折れそうになったのもこの部分です・・・。
最初にEthereumの公式ウォレットであるMistを使ってスマートコントラクトをデプロイすることが推奨されるのですが、Mistが私にとってはかなり曲者で、全く思うように動きませんでした・・・。心が折れて一週間くらい全然課題を進めることができませんでした(笑)
メンターさんのアドバイスもあり、Ethereum用のIDEであるRemixでの開発に切り替えてからは、スムーズに学習を進めることができ、初心者の私にとってもちろん簡単ではありませんでしたが、テキストを読んでメンターさんの助けをもらえば、十分に課題のスマートコントラクト開発を完了することができました。
総論
期間については、平日は平均1時間程度、休日は平均4時間程度を学習に当てて、うち1週間はほぼ何もせずに過ごしてしまいましたが・・・、ちょうど8週間で課題を終えることができました。
プログラミング初心者から始めたにも関わらず、ブロックチェーンに関する技術面からの理解が深まったことはもちろんのこと、簡単なスマートコントラクトを書くこともできるようになりましたので、満足度は高く、価格に見合う価値はあったように思います。
ただし、ブロックチェーンはあくまでもバックエンドのテクノロジーですので、実際にユーザーが触るサービスを作れるようになるには、ブロックチェーン以外のWebアプリケーション開発のスキルを学ぶ必要があります。
一定のWebプログラミングスキルとブロックチェーンの知識がある方は、独学でも学べる程度の内容だと思いますが、どちらかが不十分な方であれば、受講する価値のある内容だと思います!










