持続可能なハーベスト~ラズベリー農家のすすめ2/Sustainable NEM Harvesting on Raspberry Pi 3

f:id:Ocknamo_crypt:20161125100535j:plain
ラズベリー農家のすすめ/NEM Harvesting on Raspberry Pi 3 B
この記事は前回の続きにして決定版になります。

5日間12日一月以上連続でハーベストし続けることに成功(記録更新中)

前回までは長くても2日未満しか継続できずにNISが落ちてハーベストが止まっていましたが、今回紹介する画期的(?)な手法により延々とハーベストができるようになりました。
raspberrypi使っていない人も、最もメモリいらないCPUいらない=裏で動かすのに最適な、方法であることは間違いないので参考にしてみてくださいね。

さらばNCC

結論から言うと持続可能なハーベストの方法とはNCCを使用しないということです。なぜならNCCを動かすブラウザ(FirefoxESR)が一番メモリを食うからです。

ラズベリー農家はハーベストしたいのであってそのほかの機能はいらない(NANOとMobileでできる)。
→ノードはNISが管理してるんだからNCC無くてもハーベストできるはず。

 

というわけでコマンドラインから直接ハーベストを行いましょう。

NCCを使用しないNEMハーベストの方法

また前置きが長くなりましたが、本論です。

1. あらかじめ秘密鍵をNCCからテキストファイルなどに控えておきます(セキュリティーが心配な場合はあとで削除することをお勧めします)。
2. NCCを落としてラズパイに一応再起動をかけておきましょう。
3. ターミナルを開いてNISを起動します

$ /.nix.runNis.sh

4. 全てのブロックを同期するまで待ちます.
5. 別のターミナルを開いてPackageまで移動しharvest.shを起動します。その際先ほど控えた秘密鍵を入力

$ /.harvest.sh 秘密鍵

f:id:Ocknamo_crypt:20161125111456p:plain
白で塗りつぶした部分が秘密鍵です。

 

以上でハーベストが始まります。
ハーベスト成功しても特にお知らせとかはないので、ラズベリー農家の会に登録するかNANOやMobileで確認しましょう。
https://twitter.com/RasFarClubtwitter.com

 

感想

  1. harvest.shの存在に気が付くのが遅かった。
  2. 前回の記事からNANO Walletを導入したりしてNCCでできることといえばローカルハーベストくらいかなと思っていたんですが、NCCが本格的にオワコン化しそう。
  3. あとはもはやハード的な問題しか残ってないですね。

_______________________________

黄金虫ブログは寄付を募っています↓XEMでの寄付は以下のアドレスまで!
NCWX3R-KAOT4D-ITPEKG-ZX5SNG-ICKKGV-ZLVT2E-KKI6

NEM NANO wallet 導入方法・Walletのインポート方法(Nano Wallet Beta 1.1.11)

(NEM/XEMについては過去記事等参照してください)
ラズベリー農家のすすめ/NEM Harvesting on Raspberry Pi 3 B
NEM – ビットコイン2.0 | Bitcoin日本語情報サイト

 

しばらく前にNEMの新しいデスクトップクライアントであるNANOWalletが発表になりましたね。
これまで使用していたスタンドアローンクライアントNISとNCCはフルノード版でブロックチェーンの情報すべてをダウンロードする必要がありましたが、NANOwalletは軽量クライアントのため起動が速いという利点があります。
そのほかアポスティーユなどの新機能もNANO Walletなら使用できるようです。
今後追加される新機能はNANO Walletへ、NCC/NISはスーパ―ノード運営やハーベストなどのネットワーク維持管理機能に特化させる、みたいになっていくのではないでしょうか。
NIS/NCCは使いにくい部分もあったのでNANOWalletに期待です。

ダウンロード

https://www.nem.io/install.htmlwww.nem.io
こちらからDesktop Clientをダウンロードします。
OSX, Windows, Linuxに互換性があるためどのOSを使用している場合でも同じソフトを使用します。

起動

Zipファイルを適当な場所に展開して
“start.html”をクリックすればデフォルトのブラウザで起動します。
f:id:Ocknamo_crypt:20161120132934p:plain
(raspberry pi3のデフォルトブラウザであるepiphanyではうまく動かないのでfirefoxなどを使用しましょう。)

ウォレットを新しく作成する場合

  1. メニューからsign upを選択
  2. とりあえずsimple walletを選択しフォームを入力します。(金庫の鍵みたいなものなのでパスワードは長めにしましょう)
  3. 一番下はMainnetを選択。
  4. 作成したらメニューからLOGINに移動。プルダウンメニューから開きたいウォレットを選んでパスを入れて開きます。

ウォレットをNCCからインポートする場合

すでにNCCでXEMを保有してて、同じウォレットをNANOWalletで使用したい場合。

NCCを起動して”右上の”設定メニューからExport for Litewalletを選択。
f:id:Ocknamo_crypt:20161120135611p:plain
f:id:Ocknamo_crypt:20161120135650p:plain
適当なところに保存します。
保存した拡張子が.jsonのファイルをわかりやすいところに移動。(NANOwalletのディレクトリの中とか)
次にNCCを閉じてNANOWalletを起動しLOGINからImportwalletを選択。先ほど作った.jsonファイルを開きます。
ロードが成功するとプルダウンメニュー内にウォレット名が表示されます。
これを選択してログイン(パスワードはNCCで使ってたやつ)
f:id:Ocknamo_crypt:20161120140428p:plain
するとアップグレードするように指示されるのでUpgradeWalletを選択。
f:id:Ocknamo_crypt:20161120135949p:plain
無事ログインできました。
f:id:Ocknamo_crypt:20161120140710p:plain

その他メモ

  1. BrainWalletは「パスワードとアカウント名さえわかればどこからでも入れるウォレット」,Private key walletは「秘密鍵と公開鍵がわかれば入れるウォレット(入れるのは当たり前だが)」かな? SimpleWalletはその場で秘密鍵を生成するタイプのexportファイルがないと入れないウォレットだと思われる。
  2. フルノードないのでローカルハーベストはできない。
  3. アポスティーユやってみたいけど手数料安くなるハードフォークまで待ったほうがいいかもしれません。(12月中かな?)

_______________________________

黄金虫ブログは寄付を募っています↓XEMでの寄付は以下のアドレスまで!
NCWX3R-KAOT4D-ITPEKG-ZX5SNG-ICKKGV-ZLVT2E-KKI6

BTC,CPトークンは以下までお願いします!
1MupdofmXC8vrRLLJQBKq6NLAp1sRmfAqt

NEM MobileWalletによるマルチシグの実行方法

f:id:Ocknamo_crypt:20161108001813j:plain
ついにNEMのMobileWalletがリリースされましたね。
導入方法についてはいろいろと話を聞くのですがネイティブで実装されているという、マルチシグアドレス機能については(日本語の)解説をあまり見ないので
週末に自分でいろいろといじってみました。
(NEMについては前回の記事の冒頭を参照してください。)
ラズベリー農家のすすめ/NEM Harvesting on Raspberry Pi 3 B

マルチシグってなに?

正直、自分も実際にいじってみるまでちゃんと把握できていませんでした。
マルチシグとは複数人の署名がそろうと実行されるトランザクション(取引)ですが、実際やってみると複数人で管理する仮想通貨の口座(マルチシグアドレス)という認識のほうがわかりやすいです。

なんかいいことあんの?

今のところは透明性の高い資金運用って感じでしょうか。
複数人で共有したい資金ってありますよね。
でもそういう資金ってどこに保管すればいいのかとか参加者の誰かがネコババしないかとかの心配がつきもの。
金額が高くなるとそのリスクが急上昇するのでマルチシグアドレスで保管しましょう。

動作

参加者でマルチシグアドレスにお金を入れるのは誰の許可なしでもできますが、アドレスからお金を移そうとするとほかの参加者に許可を求めるリクエストが自動的に送られてきます。
必要な人数が確認(署名)するとそのお金の移動(何らかの購入とかの支払いの取引)が実際に行われます。

使用例(妄想)

卑近な例
・卒業旅行の会費をマルチシグアドレスに参加者がそれぞれ送り、溜まった分から宿泊費としてそこから直接支払う。全員がお金の動きを確認できる。
・寄付をマルチシグアドレスに募り、送ってきた人の金額上位何%かを署名者にする。何に使用するか寄付者が直接決める権利を持つ。
・共同出資者とコンサートを計画しマルチシグアドレスを作る。チェロ奏者に出演を依頼し出演料を送金する。共同出資者がその送金を許可する。
www.youtube.com
(考えてみると全く親近感のわかないPVですね。一生のうちに「複数人でお金をためチェロ奏者に40万円だして演奏を頼む」なんてことがあるとは全く思えない(笑))

 

・家族の共有口座として使用。大きな買い物をするときは家族みんなの確認が必要。
・投資基金とかを簡単につくる。投資も利益分配も透明性が確保できる。
とかでしょうか?

マルチシグを実際にやってみましょう

さていつも通り前置きが長くなりましたが、実際にスマートフォンにモバイルウォレットをいれてマルチシグをテストしてみました。

 

androidのアプリは以下からダウンロードできます。
NEMウォレット – Google Play の Android アプリ
IOS版はまだのようです。

導入方法はクリプトストリームさんで紹介されています。手軽なので気軽に入れてみましょう。
【画像アリ】遂に出ました!NEMモバイルウォレット導入方法 – クリプトストリーム

 

1.マルチシグ用のアカウントを作る

アカウント作成メニューからアカウントを作ります。
f:id:Ocknamo_crypt:20161111020524p:plain:w300
ご覧のとおりいくらでも作成できます。
自分のメインのアカウントはマルチシグアカウントにはしないように注意しましょう。

マルチシグ化するのに手数料としてXEMが必要なのであらかじめマルチシグ用のアカウントにXEMを入金しておきます。
現状だと署名者一人で12XEM必要です(署名者一人につき6XEM,マルチシグ化手数料で6XEMでしょうか)
署名者の追加や送金などにも当然手数料が必要なので、いろいろいじりたいならある程度入れておいたほうが良いです。

2.アカウントをマルチシグアドレスに転換する

アカウント作成した時点では通常のアドレスなので、マルチシグアドレスへの転換が必要です。転換するには署名人になるその他のアカウントの「公開鍵」が必要です。
公開鍵は、署名人の署名が本物かどうかをマルチシグアドレスが確認するための鍵です。その名の通り公開しても問題はありません(秘密鍵は絶対に公開してはいけません)

 

まず自分のメインのアドレスの公開鍵を調べます。
”もっと”からアカウントのエクスポートを選択。(エクスポートが目的ではないのでパスワードは何でもよい)
一番下に表示されるパブリックキー(公開鍵)をコピーします。
f:id:Ocknamo_crypt:20161111021525p:plain:w300

次に、マルチシグにしたいアカウントに入り、”もっと”からマルチシグネチャに移動

f:id:Ocknamo_crypt:20161111021304p:plain:w300

署名者の最小限の数はとりあえず1にしておいて、
“アドレスかラベルを入力してください”とありますが、先ほどコピーした公開鍵を入力します。
f:id:Ocknamo_crypt:20161111022050p:plain:w300

アドレスを入力するとこのようにエラーになります。
f:id:Ocknamo_crypt:20161111023525p:plain:w300

 

最後に転換をクリックします。転換すると元には戻せないので注意してください。
f:id:Ocknamo_crypt:20161111024049p:plain:w300

 

数分待つと手数料分の残高が減り、
f:id:Ocknamo_crypt:20161111024121p:plain:w300

マルチシグネチャの設定メニューに入れなくなります。
f:id:Ocknamo_crypt:20161111024158p:plain:w300

これで転換は完了です。

3.署名者の追加

さきほど署名者に指定したメインのアカウントからマルチシグネチャの設定メニューに入ります。
f:id:Ocknamo_crypt:20161111024709p:plain:w300
追加したい署名人の公開鍵と署名者の最小限の数を入力(2人なのでとりあえず2にします)
f:id:Ocknamo_crypt:20161111024824p:plain:w300
”署名者を取り除く”のタブを見ると追加できていることがわかります
f:id:Ocknamo_crypt:20161111025206p:plain:w300

4.マルチシグを実行する

アドレス帳もしくはダッシュボードから、”新しい取引”を開き、送信者を今のアカウントではなくマルチシグアカウントに変更します。
f:id:Ocknamo_crypt:20161111025845p:plain:w300
f:id:Ocknamo_crypt:20161111030242p:plain:w300
あとは普通に金額を入れて送信すればマルチシグのアカウントからの送金のリクエストが行われ、署名者に通知がいきます。

 

自分にきた通知の例ですが、このような感じで来ます。
f:id:Ocknamo_crypt:20161111030515p:plain:w300
showをクリックすると、内容が表示されます。確認してくださいをタップすると署名が完了します。
f:id:Ocknamo_crypt:20161111030602p:plain:w300
必要な署名者の人数に達すれば送金が行われます。

 

マルチシグの実行はこれで完了です。
ぜひ実際に動かしてみてください!

感想

  1. 公開鍵の入力は教えてもらうところも含めて面倒です。アドレスで何とかできないのかな……アップデートに期待。
  2. 操作感はよい。デザインもシンプルで割と好き。
  3. 手数料低めでもわりと取引のスピードが速い。
  4. 裏技がある。わかるわけない(笑)
  5. 開く度にパスワード求められるのがストレス。まだ無理だと思うけど指紋認証したい。そのうちお願いします。(17/10/25追記:現在対応してます!)

P.S.
ご協力いただいたミジンコさんtomotomoさんありがとうございました。