新規記事の投稿を行うことで、非表示にすることが可能です。
2019年10月03日
【9日目成果】 英語版Udemy講座で学ぶ!ブロックチェーン技術
進捗 60%(+7%)
順調というわけでもないが進めることはできた。
結局、前回のエラーを解消するために2,3時間を要してしました。
結局、VSCodeのエディタはjavascriptの文法エラーを検出してはくれるがコードのtypoは検出することはできない。
このため、typoにより、値がundefinedになったり、関数が正しく認識されなかったり、が起こる。
特にこの講座はコードの記述量が多いため、typoのバグで多くの時間を要している気がする。
そこで、スペルチェックのツールを導入することにした。
https://marketplace.visualstudio.com/items?itemName=streetsidesoftware.code-spell-checker
導入後は何の問題もなく、コーディング、テストが進む。
今までの苦労が何だったのか?
■Mine Transactions |The Blockchain and Cryptocurrency Backend
仮想通貨のマイニングのセクションに入った。
このセクションでは、マイニング処理を有効な処理を取得したり、マイニングへの報酬など5つのステップに分けて順番に実装を進める。
面白そうだが、2時間半のセクションとなっており、このコースの山場といったとところだろう。
早速、またまた、テストが通らない。
つづりはOKだが、配列に要素が入らない。
結局、コールバック関数を{}でくくっていて中で呼んでいる関数から値が返されず、filterの結果の配列に要素が入らないことがわかった。
考えてみれば当たり前のような気もするがこれまた結構な時間を使ってしまった。
【誤】
[1,2,3].filter(f => {f === 1})
-> []
【正】
[1,2,3].filter(f => {return (f === 1)})
-> [1]
■次は?
ひたすらMine Transactionsのセクションを終わらすべく、進める。
このコースへのリンク
Build a Blockchain & Cryptocurrency | Full-Stack Edition
全般ランキング
タグ:Node.js
2019年10月02日
【8日目成果】 英語版Udemy講座で学ぶ!ブロックチェーン技術
進捗 53%(+4%)
若干ノルマ(5%)にはとどかなかったが進めることはできた。
受講の際、今まではコードを書きながら視聴していた。
このようにすると内容が頭に入ってこないことがあり、再視聴しなければならず時間を要していた。
そこで、今回から、コードを書く際は動画を必ず停止するようにした。
また、逆に動画を視聴している際はコードは書かないように心掛けて受講した。
良い感じかも。
■Transaction Update Edge Cases
処理金額がWallet金額を超えてしまった場合の対処を行う。
■Create the Transaction Pool and SetTransaction
トランザクションプールのテスト作成。
■API Transactions and Main Transaction Pool
HTTPでの通信層でのTransactionの実装。
PostmanでHTTPパケットを送信して、トランザクションが生成できるかを確認した。
■Handle Invalid Transactions
エラーの場合のHTTPレスポンスの返却フォーマットの改善
■Transaction Update in the API
既存のouputMapがある場合は、それを使用してトランザクションを行う。
一通り、実装は完了したが、テストでオブジェクトがundefinedになってしまう。
原因調査中。
■次は?
まず、バグを解消する。
Transaction Poolの後半を行う。
Transactionのブロードキャストや同期を行う。
そろそろこの後の勉強するネタを準備する。
このコースへのリンク
Build a Blockchain & Cryptocurrency | Full-Stack Edition
全般ランキング
2019年10月01日
【7日目成果】 英語版Udemy講座で学ぶ!ブロックチェーン技術
進捗 49%(+4%)
若干ノルマ(5%)にはとどかなかったが進めることはできた。
進めることはできているが、とにかく、コードを一生懸命、写してデバッグをする、を繰り返している。
■Wallet Create Transaction
Walletからトランザクション処理を生成する。
コードを書くのに忙しくて、初回では何をしているの理解してなかった。
再度、動画を見直してようやく何をしているかがわかった。
また、テストケースのコメントを見ても理解が進む。
コード自体は特に問題なくテストまで完了した。
■UpdateTransaction with Multiple Outputs
トランザクション後に送り元のWalletの状態の変化などにより更新を行う必要があるのでこの機能が必要。
コード自体は特に問題なくテストまで完了した。
■Improve the CryptoHash
暗号化を行った際に、オブジェクトの参照だと想定外の結果になるため、文字列化を行う。
つづり間違えでバグは出たが特に大きな問題もなく完了。
■Transaction Pool Overview
ノルマを稼ぐため、"Transaction Update Edge Cases"の前にこっちをやってしまう。
トランザクションをためておく場所を設け、ここで保持している情報をお互いに同期するようにする。
説明のみ、コーディングはなし。
■次は?
Transaction Poolを本格的に実装していく。
また、"Transaction Update Edge Cases"も忘れずに完了する。
このコースへのリンク
Build a Blockchain & Cryptocurrency | Full-Stack Edition
全般ランキング