Hyperledger Fabric v0.6 のデプロイの方法

NO IMAGE

事前準備

  • まずは、ログイン, enrollをしてないといけない場合あり。それをPOSTするJSONのsecureContextに書く。
  • chaincodeのビルドをしている、していない場合あり

1. Gitから直接ダウンロード?

プライベートレポジトリの場合は、$GOPATH以下にgit cloneしておく、という手もある。

{
"jsonrpc": "2.0",
"method": "deploy",
"params": {
"type": 1,
"chaincodeID": {
"path": "https://github.com/IBM-Blockchain/learn-chaincode/finished"
},
"ctorMsg": {
"function": "init",
"args": [
"hi there"
]
},
"secureContext": "WebAppAdmin"
},
"id": 1
}
  • pathにnameを書くことがある。よく見るmyccなど。事前に登録必要か?
  • pathは、 github.comではじまるものを書くと、$GOPATH/src 以下と認識される様子
  • secureContextにログインしたユーザIDを書く

以下、ローカルのchaincodeでやる場合。go buildしておきPATHを指定

{
"jsonrpc": "2.0",
"method": "deploy",
"params": {
"type": 1,
"chaincodeID":{
"name": "mycc",
"path": "github.com/hyperledger/fabric/examples/chaincode/go/chaincode_example02"
},
"ctorMsg": {
"function":"init",
"args":["a", "100", "b", "200"]
},
"secureContext": "admin"
},
"id": 1
}

2. Node.js Clienet SDKを使う

npm install hfc

以下、公式サンプルスクリプトを改良


// Deploy chaincode function deploy(user) { console.log("deploying chaincode; please wait ..."); // Construct the deploy request var deployRequest = { chaincodeName: "チェーンコード名", fcn: "init", args: ["a", "100", "b", "200"] }; // where is the chain code, ignored in dev mode // これは、$GOPATH以下を指している模様 deployRequest.chaincodePath = "github.com/hyperledger/fabric/examples/chaincode/go/chaincode_example02"; // Issue the deploy request and listen for events var tx = user.deploy(deployRequest); tx.on('complete', function(results) { // Deploy request completed successfully console.log("deploy complete; results: %j",results); // Set the testChaincodeID for subsequent tests chaincodeID = results.chaincodeID; // do something //invoke(user); }); tx.on('error', function(error) { console.log("Failed to deploy chaincode: request=%j, error=%k",deployRequest,error); process.exit(1); }); }

peer chaincode deployコマンド

peerコマンドでデプロイする

cd /usr/share/gocode/src/github.com/hyperledger/fabric/build/bin
peer chaincode deploy -p github.com/hyperledger/fabric/examples/chaincode/go/chaincode_example02 -n mycc -c '{"Args": ["i
nit", "a","100", "b", "200"]}'
  • -pのパスの指定は、chaincodeがあるディレクトリまでか?
  • $GOPATH/src 以下にある前提。絶対PATH設定ではダメな様子。

関連用語

  • Linux Foundation
  • Hyperledger Project (ハイパーレジャー、ハイパレッジャー)
  • Fabric (ファブリック)
  • チェーンコード
     

免責事項

本記事に掲載されている記事の内容につきましては、正しい情報を提供することに務めてはおりますが、提供している記事の内容及び参考資料からいかなる損失や損害などの被害が発生したとしても、弊社では責任を負いかねます。実施される際には、法律事務所にご相談ください。

技術・サービス・実装方法等のレビュー、その他解説・分析・意見につきましてはblock-chani.jp運営者の個人的見解です。正確性・正当性を保証するものではありません。本記事掲載の記事内容のご利用は読者様個人の判断により自己責任でお願いいたします。

     

コンセンサス・ベイス(株)とブロックチェーン事業を行なってみませんか?

当サイトを運営するコンセンサス・ベイス株式会社は、2015年設立の国内で最も古いブロックチェーン専門企業です。これまでに、大手企業の顧客を中心に、日本トップクラスのブロックチェーンの開発・コンサルティング実績があります。

ブロックチェーンに関わるビジネスコンサル・システム開発・教育・講演などご希望でしたら、お気軽にお問い合わせください。

     
     

ブロックチェーン学習に最適の書籍の紹介

図解即戦力 ブロックチェーンのしくみと開発がこれ1冊でしっかりわかる教科書

ブロックチェーン イーサリアムへの入り口 第二版 (ブロックチェーン技術書籍)

本書は、ブロックチェーン技術に興味を持ったエンジニアや、その仕組みを学び、自分の仕事に活かしたいビジネスパーソンを対象にして、ブロックチェーンのコア技術とネットワーク維持の仕組みを平易な言葉で解説しています。この本を読んだうえで、実際にコードを書くような専門書、ブロックチェーンビジネスの解説書を読むことで、理解度が飛躍的に高まるでしょう。(はじめにより)

Hyperledger Fabricカテゴリの最新記事