Hyperledger Fabricによるアプリケーション開発 | サンディの今日もワイン

サンディの今日もワイン

サンディがワインと本についてあれこれ言います。

2020年2月3日(節分)サンディは永眠しました。18年間ありがとう。
ひきつづき、ワインと本についてあれこれ言います。

 マルチーズだよー仕事です

読書時間:3.0h
一読:判定不能
再読:あり
R指定:なし
監修:早川勝
著者:清水智則/田町京子/上ノ原勇人/佐藤卓由/齋藤新/近藤仁/平山毅/笠原章弘/岩崎竜矢/小笠原万値
刊行:2018年6月
価格:3400円+税
出版:株式会社リックテレコム
本本本本本本本本本

 

1ブロックチェーンの概要
2Hyperledger Fabricの概要
3Hyperledger Fabricを動作させる
4Hyperledger Fabricのアプリケーション開発
5Composerを活用したアプリケーションの開発
6Hyperledger Fabricの環境設定

 

書く

docker exec peer0.org1.example.com peer chaincode query -C mychannel
-n marbles -c '{"Args":["read_everything"]}'

peerコマンド Hyperledger Fabric platform binaries curl
https://goo.gl/kFFqh5 | bash -s 1.0.6 ←Hyperledger Fabricのインストール
cryptogen
configtxgen
peer
  chaincode
    install
    instantiate
    invoke
    package
    query
    signpackage
    upgrade
  channel
    create
    fetch
    join
    list
    update
  logging
  node
    status
    start
  version
orderer

core.yaml peerコマンドの設定ファイル
wget -Nq https://raw.githubusercontent.com/hyperledger/fabric/release-1.0/sampleconfig/core.yaml

peer -help


configtx.yaml ←basic-networkの中にある

docker-compose.yaml
  environment
    - FABRIC_CA_SERVER_TLS_CERTFILE ←FABRIC_CA_SERVER_CERTFILE は間違い
    - FABRIC_CA_SERVER_TLS_KEYFILE ←FABRIC_CA_SERVER_KEYFILE は間違い



honya.go
func (this *CarTransferCC) Init(stub shim.ChaincodeStubInterface) pb.response {
  logger := shim.NewLogger("cartransfer")
  logger.info("chaincode intialized")
  logger.infof("chaincode intialized%s", "honya")

  return shim.Success([]byte{})
}

shim
  ChaincodeStubInterface
  Success
  Error
  NewLogger
  NewMockStub

ChaincodeStubInterface
  GetArgs
  GetAtringArgs
  GetFunctionAndParameters
  GetArgSlice
  GetTxTimestamp
  GetTxID
  CreateCompositKey
  PutState
  GetState
  GetStateByPartialCompositKey
  GetStateByRange



honya := new(package.Honya)
err := json.Unmarshal([]byte(args[0]), honya)

var id, id2 string
err := json.Unmarshal([]byte(args[0]), &id)

msg := fmt.Sprintf("%s", id)


iter, err := stub.GetStateByPartialCompositKey("Car", []string{})
iter.HasNext
iter.Next
defer iter.Close() メソッドから抜けたときに自動的に呼ばれる

honyas := []*package.Honya{}
honyas = append(honyas, honya)

go get -u github.com/kardianos/govendor
govendor init

-------------------
let eh = client.newEventHub()
eh.setPeerAddr(
  CONFIG[targetOrg].peer1.events,
  {
    pem: Buffer.from(edata).toString(),
    'ssl-target-name-override': CONFIG[targetOrg].peer1['server-hostname'],
    'grpc.http2.keepalive_time': 15
  }
);
eh.connect();
ehs.push(eh); ←ehsの定義が無い

register.js: default.jsonのusers変数で指定されたユーザーを登録します


composer  Hyperledgerfabric
v0.16x    v1.0.5
v0.19x    v1.1 GA Only

npm install -g composer-cli@0.16.6

crypto-config.yaml

http://localhost:5984/_utils/