CourseraのBitcoin and Cryptocurrency Technologiesに参加してみている。
課題について色々
課題の中で説明無く出てきた mutually valid についてはForumのこのコメントが分かりやすい。
mutually validはTransaction setに対する概念。
UTXOPoolと複数のTransactionが与えられた時に、適切な順序で処理すればどの処理の時点でもTransactionがvalidと見なせる場合に、そのTransaction setはmutually validと言うものと理解した。
ローカルでテストする手段は公式には用意されていないけれども、フォーラムを見ていたらMentorによるコードがあるのを見つけた。
$YOUR_ASSIGNMENT_PATH
にTxHandler.java
が実装してあれば
$ ghq get keskival/cryptocurrency-course-materials
$ ghq look $_
$ javac -classpath $YOUR_ASSIGNMENT_PATH:. Main.java
$ java -classpath $YOUR_ASSIGNMENT_PATH:. Main
とかすると
txHandler.isValidTx(tx2) returns: true
txHandler.handleTxs(new Transaction[]{tx2}) returns: 1 transaction(s)
などと表示されて動作確認が出来る。
雑感
Javaほぼ使ったことがなくて思ったよりも課題に時間かかる。
descroogifyとかの言葉遊びがちょっとうける。
Extra Creditがいきなりムズい。