読者です 読者をやめる 読者になる 読者になる

ブロックチェーン基盤Hyperledger Fabric の環境をdockerで作る (ローカルに立ち上げ編)

blockchain

ビットコインとブロックチェーン:暗号通貨を支える技術といった本を読んだりだとか身辺でビットコインの話題が出るに連れ、個人的にはブロックチェーンに興味があるのでそのあたりの環境を作るのに手軽な基盤はないかなと見ていたところHyperledgerというプロジェクトを知った。 Hyperledger自体はLinux Foundationが進めているブロックチェーン技術に関するオープンソースコミュニティーで、そこで開発されているブロックチェーンの基盤にHyperledger Fabric*1があり、他にも複数のプロジェクトが推進されている。(詳しくはこちらのページが詳しい)

f:id:hideack:20170320171631p:plain:w350

Home | Hyper Ledger Foundation Home | Hyper Ledger Foundation

Fabric自体はDockerHubにイメージが提供されているので、これを使うとローカルにもFabricによるブロックチェーン基盤を立てることができるということなので試してみた。 まずはイメージをpullする。

$ docker pull hyperledger/fabric-membersrvc:latest
$ docker pull hyperledger/fabric-peer:latest

fabric-membersrvcが証明書等のCAとなるコンポーネントのコンテナ、fabric-peerがブロックチェーン内でのpeerのコンテナに該当する。 membersrvcと少なくとも1つpeerを立ち上げる必要があるので、pullが完了したら以下の様なdocker-compose用のYAMLを用意する。

membersrvc:
  image: hyperledger/fabric-membersrvc
  command: membersrvc
vp0:
  image: hyperledger/fabric-peer
  ports:
    - "7050:7050"
  environment:
    - CORE_PEER_ADDRESSAUTODETECT=true
    - CORE_VM_ENDPOINT=http://172.17.0.1:2375
    - CORE_LOGGING_LEVEL=DEBUG
    - CORE_PEER_ID=vp0
    - CORE_PEER_PKI_ECA_PADDR=membersrvc:7054
    - CORE_PEER_PKI_TCA_PADDR=membersrvc:7054
    - CORE_PEER_PKI_TLSCA_PADDR=membersrvc:7054
    - CORE_SECURITY_ENABLED=true
    - CORE_SECURITY_ENROLLID=test_vp0
    - CORE_SECURITY_ENROLLSECRET=MwYpmSRjupbT
  links:
    - membersrvc
  command: sh -c "sleep 5; peer node start --peer-chaincodedev"

上を準備した上でコンテナを立ち上げると

$ docker-compose up

Starting fabric_membersrvc_1
Starting fabric_vp0_1
Attaching to fabric_membersrvc_1, fabric_vp0_1
vp0_1         | 07:33:18.451 [logging] LoggingInit -> DEBU 001 Setting default logging level to DEBUG for command 'node'
vp0_1         | 07:33:18.451 [nodeCmd] serve -> INFO 002 Running in chaincode development mode
vp0_1         | 07:33:18.451 [nodeCmd] serve -> INFO 003 Set consensus to NOOPS and user starts chaincode
vp0_1         | 07:33:18.451 [nodeCmd] serve -> INFO 004 Disable loading validity system chaincode
vp0_1         | 07:33:18.452 [peer] func1 -> INFO 005 Auto detected peer address: 172.17.0.3:7051
vp0_1         | 07:33:18.454 [peer] func1 -> INFO 006 Auto detected peer address: 172.17.0.3:7051
(snip)

何やら動き始めた感があるので、サンプルユーザーとしてJimというユーザーが登録されているのでAPIを叩いてみる。

$ curl -X POST -H 'Content-Type: application/json' -d '{"enrollId":"jim","enrollSecret":"6avZQLwcUe9b"}' http://localhost:7050/registrar
{"OK":"Login successful for user 'jim'."}

また、ブロックチェーン自体も素朴に http://localhost:7050/chain を開くと確認できる。

HTTP/1.1 200 OK
Access-Control-Allow-Headers: accept, content-type
Access-Control-Allow-Origin: *
Content-Length: 123
Content-Type: application/json
Date: Mon, 20 Mar 2017 07:55:16 GMT

{
    "currentBlockHash": "RrndKwuojRMjOz/rdD7rJD/NUupiuBuCtQwnZG7Vdi/XXcTd2MDyAMsFAZ1ntZL2/IIcSUeatIZAKS6ss7fEvg==",
    "height": 1
}

こういった形で何やら動き始めるところまでは確認できたので実際に諸々試すのはまた次回。

備考

この本で大雑把に技術周りも含めて把握したつもりなのだけれども、なんらか手を動かさないとどうもピンとこない性分なので試してみている。

ビットコインとブロックチェーン:暗号通貨を支える技術

ビットコインとブロックチェーン:暗号通貨を支える技術

https://www.hyperledger.org/

*1:Pythonのツールと名前が被りますね…

あのあたり感

雑談

1 on 1の面談だったりで伝えていることだったりするのだけれども個人的に「あのあたり感」を大事にしている。

「あのあたり感」というのは例えば携わっている業務で自分の職種にとって専門外のことであって十分な知識を自分がもっていなくても、その業務知識が豊富だったり経験を持たれている方を浮かべられたり、参考となる資料(本だったりサイトだったり)の検討をつけられることを指している。 これがあると、仮に自分一人で解決できないことであっても解決するにあたってスムーズな検討をつけることができたり、そもそもその知見のある人に質問に行くときも的はずれなことを聞かずに済むことが多い気がしていて個人的には大事にしている。

いままではチーム内だったり社内にとどまっていたのだけれども、これを徐々に社外にも広げていってつなげていきたいと思うし、逆に自分自身も何らかの知見を得るときの「あのあたり」に居られるようになっていきたいと思う。

2017年2月に読んだ本を振り返る

気づいたらほとんど読めていなかった。

ブクログ経由で紹介ができないけれども、わざわざの働きかたは何度も読み返している。自分が持ち得ないものを持たれている平田さんを尊敬してしまう。情熱が自分には足りないのかなと多少凹むけれども。


hideackの本棚 - 2017年02月 (6作品)
powered by Booklog

東京マラソン2017へ応援に

休日 今日の一枚

GMOアスリーツの橋本選手が東京マラソン2017に参加されるということで応援に。

個人的に駅伝だったりマラソンだったりをテレビで観戦するのが好きで幼い頃から走るのはとても苦手なのだけれども、見るのはとても好きなので実際応援に参加できる機会が出来て嬉しかった。

幸いにも天候が良くてラジオ中継を聞きながら且つ公式サイトで提供されている各選手の現在地情報を見つつ観戦&応援できたのは良い経験。間近で見ると想像以上にスピードが早いことも知れたし、同時に行われていた車椅子マラソンの迫力も知ることができた。

応援地点での応援終えた後、一人で水天宮方面へ歩いて移動。再びマラソンコースに合流して観戦しつつ帰宅した。普段は車が多く走る道が封鎖されていていつもとは異なる景色があちこちで見れてそういう散歩好きとしても楽しめるイベントだった。

f:id:hideack:20170226160537j:plain

WORK RULES! を読んだ

マネージメント

Googleの人事トップが書いた本として少し前に話題になっていたのを読めていなかったので今更であるが読んでみた。Web業界で働いた経験があったり現に働いていたり、またスタートアップで勤務されていたりすると、より自身の働いている環境と照らし合わせて読めるかもしれない。

昨年来の自分自身の働き方の変化もあって、第8章に記載されていたUFS(Upward Feedback Survey) というマネージャーへの匿名フィードバックの仕組みが興味深かった。

Googleの人材イノベーション研究所による人々の仕事経験を掘り下げるシンクタンクが導き出したマネージャー自身の成長機会提供のために行われているもので成績・報酬には影響させず、適切なマネージメントスタイルに導くためのものと明確に位置づけされている。

サンプルとして以下の様な9項目が挙げられていた。

  • 上司は、私が成績を上げるための実行可能なフィードバックをくれる
  • 上司は「マイクロマネジメント」をしない (部下が処理すべき細かいことまで手出ししない)
  • 上司は、私をひとりの人間として、思いやりをもって接してくれる
  • 上司は、優先事項である結果・成果物にチームを集中させる
  • 上司は、自分の上司や上層部から得た関連情報を定期的に知らせてくれる
  • 上司は、ここ半年のうちに私のキャリアにかかわる有意義な話し合いをしてくれた
  • 上司は、チームの目標を明確に伝えてくれる
  • 上司は、私を効率よく監督できるだけの専門知識(例、技術部門ではプログラミング、財務部門では会計) を持っている
  • 私は上司を他のグーグラー*1に勧める

もちろんGoogleにおけるマネジメントスタイルに基づくところから導かれた内容ではあると思うのだけれども、こういったフィードバックを率直に受けつつマネジメント力の成長機会を得つつ結果業績等の成果へ反映させていくというやり方は一つあるのかもしれないと思った。

ワーク・ルールズ!―君の生き方とリーダーシップを変える

ワーク・ルールズ!―君の生き方とリーダーシップを変える

*1:Googleの従業員のこと

「わざわざの働きかた」を読み終えた

先日注文したわざわざというパンと日用品を実店舗とネットショップを運営されているお店が販売された本が今朝届いたので早速拝読した。

wazawaza.shop-pro.jp

ちょうど自分が先日申込んだときには初版2000部の残り50部程度ということで駆け込みであったのだけど無事購入できて嬉しかった。

本自体にネットショップで感じられる世界観であったり思いが文章・写真として詰め込まれており、是非たくさんの人に読んでもらいたいと思ったし、逆にここをきっかけにファンとなってネットショップや実際に店舗で商品を求めたくなる人も出てくるに違いないと思った。

特に自分の場合、立場や働き方のところの影響もあるのだろうけれども、「丸い組織を作りたい」というタイトルで書かれていた文章は特に惹かれた。丸というのは力が分散して一番強い形だと思っていて組織の形の話だけではなく、現実世界でもマンホールの蓋を見てもわかるとおり一番強い形であるからこそ、蓋は丸い。

小さい丸が少しずつ重なって互いがカバーしあって全体が少しずつ成長していくという進め方はとても共感したし、自分もそういった組織づくりができていけるとよいなと改めて思った。

近日第2刷発売とのこと。わざわざの魅力をもっと知りたい人、ネットショップを始めた人、組織を作り始めた人、チームのリーダーに立った人、一見ターゲットはバラバラに見えるけど全ての人に向けた内容がこの一冊に入っているので是非読んでもらいたい。

f:id:hideack:20170211153729j:plain

あわせてご紹介

こちらもぜひ。

pickup.calamel.jp

3年前の自分に今の自分の働き方を勧められるか

雑談

人に共通することですが、何かしら働いていれば年齢を重ねて後輩だったり同僚が増えており、その数が増えれば増えるほど自然と自分自身を見られている機会は増えていく*1訳で、そうした人の中に自分自身と同じような働き方をしてみたいとか、同じポジションで仕事をしてみたいといったことを思われている可能性も当然あります。 そうした人が仮にいたとしたときに普段行っている自分の発言や動き方がポジティブな方向に影響を与えられているかとしばし思うようにしています。

自分自身を振り返ったときにも、Webアプリケーション開発の業務に初めて携わった当時、周りに同様の業務に携わっている人が居なかったためブログだったりtwitter上でアウトプットするエンジニアに憧れを思いつつ、その人達がどういったインプットをしたり本を読んだりしているのかを常に注視していたり、いまの所属しているペパボに入社してからも周りにいるエンジニアの人の働き方だったりやり方だったりをキャッチアップしようとし続けてきていました。

時間が経った今、それが少しずつ逆転してきているな。と。

例えば仮に普段から自分が毎日毎日「あぁ、やってられないな」と四六時中言い続けていたり、いつもイライラしていたり、面白くなさそうに仕事をしていたら、今後少なくとも自分と似たキャリアパスを描いていた人にとっては極端な話「絶望感」を与えるかもしれませんし、ある意味その人にとっての選択肢を一つ断つことにつながると思っています。

ただ、あまりに意識しすぎると疲れてしまうので、例えば自分自身がイライラしたり饒舌になったり、仕事に過剰にのめり込んでいると思ったときにふと意識する様にしてみるとよいかもしれません。

私の場合は自分自身の働き方を3年前、5年前の自分に自信を持って勧められるかを、ぼんやりと考えてみる様にしています。そうすると、もっとこうした方がいいと思える点が大なり小なり出てくるものです。

*1:積極的にアウトプットをしていたらなおのこと