修了証明書開発 -最終回
HashHubインターンのたかてぃ(冨澤)です。
10日間のGWハジマリマシタネ。皆さんはこのまとまった休みを、どんな風に過ごしますか? 僕は仕事の反省と改善、個人で行なっているプログラミング(RubyやSolidityなど)をひたすら進めていきます。
やりたい事が沢山あり過ぎて時間も体も足りてないですが、最優先事項に集中します。
さて!今回の記事では、OB会のメンバーで進めてきた「修了証明書」開発の最終回となっています。
納期である第2回エンジニア講座の最終日に間に合うのか、、!や進めてきた開発について、次回の活動内容なども含めて書いていきますね。
ブロックチェーンエンジニア講座についてはこちらのサイトをご確認下さい。
目次
修了証明書について
次回のOB会活動
最後に
システム全体像
それでは、シーケンス図やER図を用いて全体を確認していきます。
大まかな流れは、
【発行時】
発行者がTxを作成→Blockchainに記録→TxIDと証明書データを修了者に渡す→修了者はその2つを保管。
【検証時】
受講者が検証者に証明書データとTxIDを渡す→検証者が3つ(TxIDと証明書データと公開鍵)を使い、検証を行う。
となっています。図で表現するとこうなります。
加えて、ER図です。
では実際にデモを行なった写真を見ていきます。
デモ写真
1. サイトの最初のページです。ここから操作を始めます。
2 . 発行者ボタンを選択し、必要な操作を行う。
デモはテストで行なっているので、ブロックチェーンエンジニア講座を共同開催しているHashHubのアカウントを作成してみました。
ここでは、各機関がリストで表示されまだ登録していない場合は、新規登録ボタンから登録を行います。
新規登録では、名前やemail、アドレス(公開鍵)などを登録します。
3. 登録している機関がTxを作成する。
ここでは作成者の秘密鍵が必要になります。ただこの秘密鍵がサーバー側に移動するとあまり得策ではないので、ブラウザのみで対応します。
4. 返ってきたTxIDが正しければ受講生に渡し、間違っていれば無効なTxIDとしてDatabaseに保存する。
5. 次に検証の場面を紹介していきます。検証者は、検証したい対象を提供している機関(今回はHashHub)を選択します。
6 . 検証に必要な3つの要素を記入します。
・TxID
・証明書データ
・発行者アドレス(公開鍵)
の3つを記入。
7 .検証に成功すると、このような画面になります。
8. もし値が間違っていれば、そのような表示が出てきます。
はい、ここまでがデモの発表でした!少し長いですが成功した事が伝われば、幸いです。
感想
このデモに照準を合わせた設計なので、誰でも機関登録出来る部分やそもそもBitcoinのBlockchainが最適なのかなどの問題はあると思いますが、ひとまず完成出来て良かったです。
また今回の開発を通して理解を進めた方や改良版を開発する方もいて、お互いがとても良い刺激を与えています。
以上!「修了証明書」開発でした!!!
・次のOB会活動について
今行なっている活動は、個人個人で気になるトピックを選択し次回の集まりでLTをする事です。scriptを使ったゲームやSolidity、フルノードを立ててみる、などがありました。
もし、自分で調べたものをアウトプットしたい!やフィードバックが欲しい!方がいたら是非OB会に参加してください!一緒に頑張りましょう!!
・最後に
少し長くなってしまいました、、。OB会には、講座だけでなく自ら学び続ける人がいます。皆さん(自分も含め)がもっと学びを深められる様に、OB会運営頑張ります!
・お知らせ
■ブロックチェーンエンジニア集中講座開講中!
HashHubではブロックチェーンエンジニアを育成するための短期集中講座を開講しています。お申込み、詳細は下記のページをご覧ください。
ブロックチェーンエンジニア集中講座:https://www.blockchain-edu.jp/
■HashHubでは入居者募集中です!
HashHubは、ブロックチェーン業界で働いている人のためのコワーキングスペースを運営しています。ご利用をご検討の方は、下記のWEBサイトからお問い合わせください。また、最新情報はTwitterで発信中です。
HashHub:https://hashhub.tokyo/
Twitter:https://twitter.com/HashHub_Tokyo
■HashHubでは下記のポジションを積極採用中です!
・コミュニティマネージャー
・ブロックチェーン技術者・開発者
・ビジネスディベロップメント
詳細は下記Wantedlyのページをご覧ください。
Wantedly:https://www.wantedly.com/companies/hashhub/projects