Bitcoin and Cryptocurrency Technologies: Week 1

CourseraのBitcoin and Cryptocurrency Technologiesに参加してみている。

課題について色々

課題の中で説明無く出てきた mutually valid についてはForumのこのコメントが分かりやすい。

mutually validはTransaction setに対する概念。
UTXOと複数のTransactionが与えられた時に、適切な順序で処理すればどの処理の時点でもTransactionがvalidと見なせる場合に、そのTransaction setはmutually validと言うものと理解した。

ローカルでテストする手段は公式には用意されていないけれども、フォーラムを見ていたらMentorによるコードがあるのを見つけた。

$YOUR_ASSIGNMENT_PATHTxHandler.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がいきなりムズい。