2017年 3月 の投稿一覧

ボールペンの替芯

昨年末から使っているボールペンのインクが切れたので入れ替えた。
使っているボールペンは以下のお店で購入できる木製のボールペンで使っているうちに一層手に馴染んでくる感があってすっかり手放せなくなってしまった。

handmade-mibu.shop-pro.jp

ボールペンの替芯として、CROSSタイプか三菱鉛筆のSK-8のいずれかが使えるのでロフトで後者のものを求めた。いままであまり意識的に眺めたことがなかったのだけど、ボールペンの替芯の棚だけでもいろいろな種類があるのだなと気づいた。この歳になって。

いままでボールペンも使い捨てのものを使ったりしていたのだけれども、これをじっくり使っていく所存。

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

ビットコインとブロックチェーン:暗号通貨を支える技術といった本を読んだりだとか身辺でビットコインの話題が出るに連れ、個人的にはブロックチェーンに興味があるのでそのあたりの環境を作るのに手軽な基盤はないかなと見ていたところ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
}

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

備考

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

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

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

あのあたり感

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

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

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

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

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

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


hideackの本棚 - 2017年02月 (6作品)
捨てる力 (PHP文庫)


powered by Booklog