Hyperledger Fabric 實戰(十二): Fabric 源碼本地調試

藉助開發網絡調試 fabric 源碼本地調試

準備工做node

  • IDE Goland
  • Go 1.9.7
  • fabric-samples 模塊 chaincode-docker-devmode
  • fabric 源碼

步驟

  • 添加本地域名
    127.0.0.1 peer
    127.0.0.1 orderergit

  • 用 ide 打開 $GOPATH 下的fabric源碼目錄github

  • 在源碼目錄下添加 dev-networkdocker

  • 把 sampleconfig 下的全部文件複製到 dev-network網絡

    • 修改 core.yaml 中 fileSystemPath = fabric源碼目錄下dev-network/production/peer(絕對路徑)
    • 修改 orderer.yaml 中 Location = fabric源碼目錄下dev-network/production/orderer(絕對路徑)
  • 在 dev-network 新建 config,並複製 fabric-samples 模塊 chaincode-docker-devmode下的 myc.tx 和 orderer.blockide

  • 1,接着調試網絡,用debug模式運行 order 下的 main.go 文件 並添加配置,絕對路徑的地方相對修改,而後運行ui

    Environment:debug

    ORDERER_GENERAL_LISTENADDRESS=0.0.0.0
    ORDERER_GENERAL_GENESISMETHOD=file
    ORDERER_GENERAL_GENESISFILE=fabric源碼目錄下dev-network/config/orderer.block(絕對路徑)
    ORDERER_GENERAL_LOCALMSPID=DEFAULT
    ORDERER_GENERAL_LOCALMSPDIR=fabric源碼目錄下dev-network/msp(絕對路徑)
    FABRIC_CFG_PATH=fabric源碼目錄下dev-network(絕對路徑)
  • 2,接着調試網絡,用debug模式運行 peer 下的 main.go 文件 並添加配置,絕對路徑的地方相對修改,而後運行調試

    Program arguments:code

    node start --peer-chaincodedev=true -o 127.0.0.1:7050

    Environment:

    CORE_PEER_LOCALMSPID=DEFAULT
    CORE_PEER_ID=peer
    CORE_PEER_MSPCONFIGPATH=fabric源碼目錄下dev-network/msp(絕對路徑)
    CORE_PEER_ADDRESS=127.0.0.1:7051
    FABRIC_CFG_PATH=fabric源碼目錄下/dev-network(絕對路徑)
  • 3,接着調試網絡,用debug模式運行 peer 下的 main.go 文件 並添加配置,絕對路徑的地方相對修改,而後運行

    Program arguments:

    channel create -c myc -f fabric源碼目錄下dev-network/config/myc.tx(絕對路徑) -o 127.0.0.1:7050

    Environment:

    CORE_PEER_LOCALMSPID=DEFAULT
    CORE_PEER_ID=cli
    CORE_PEER_MSPCONFIGPATH=fabric源碼目錄下dev-network/msp(絕對路徑)
    CORE_PEER_ADDRESS=127.0.0.1:7051
    FABRIC_CFG_PATH=fabric源碼目錄下/dev-network(絕對路徑)
  • 4,接着調試網絡,用debug模式運行 peer 下的 main.go 文件 並添加配置,絕對路徑的地方相對修改,而後運行

    Program arguments:

    channel join -b myc.block

    Environment:

    CORE_PEER_LOCALMSPID=DEFAULT
    CORE_PEER_ID=cli
    CORE_PEER_MSPCONFIGPATH=fabric源碼目錄下dev-network/msp(絕對路徑)
    CORE_PEER_ADDRESS=127.0.0.1:7051
    FABRIC_CFG_PATH=fabric源碼目錄下/dev-network(絕對路徑)
  • 5,接着調試網絡,用debug模式運行 peer 下的 main.go 文件 並添加配置,絕對路徑的地方相對修改,而後運行

    Program arguments:

    chaincode install -p github.com/hyperledger/fabric/examples/chaincode/go/chaincode_example02 -n mycc -v 1.0

    Environment:

    CORE_PEER_LOCALMSPID=DEFAULT
    CORE_PEER_ID=cli
    CORE_PEER_MSPCONFIGPATH=fabric源碼目錄下dev-network/msp(絕對路徑)
    CORE_PEER_ADDRESS=127.0.0.1:7051
    FABRIC_CFG_PATH=fabric源碼目錄下/dev-network(絕對路徑)
  • 6,打開終端
    cd $GOPATH/src/github.com/hyperledger/fabric/examples/chaincode/go/chaincode_example02
    編譯chaincode
    go build -o chaincode_example02 接着運行
    CORE_PEER_ADDRESS=peer:7052 CORE_CHAINCODE_ID_NAME=mycc:1.0 ./chaincode_example02

  • 7,接着調試網絡,用debug模式運行 peer 下的 main.go 文件 並添加配置,絕對路徑的地方相對修改,而後運行

    Program arguments:

    chaincode instantiate -n mycc -v 1.0 -c "{\"Args\":[\"init\",\"a\",\"100\",\"b\",\"200\"]}" -C myc

    Environment:

    CORE_PEER_LOCALMSPID=DEFAULT
    CORE_PEER_ID=cli
    CORE_PEER_MSPCONFIGPATH=fabric源碼目錄下dev-network/msp(絕對路徑)
    CORE_PEER_ADDRESS=127.0.0.1:7051
    FABRIC_CFG_PATH=fabric源碼目錄下/dev-network(絕對路徑)
  • 8,接着調試網絡,用debug模式運行 peer 下的 main.go 文件 並添加配置,絕對路徑的地方相對修改,而後運行

    Program arguments:

    chaincode invoke -n mycc -c "{\"Args\":[\"invoke\",\"a\",\"b\",\"10\"]}" -C myc

    Environment:

    CORE_PEER_LOCALMSPID=DEFAULT
    CORE_PEER_ID=cli
    CORE_PEER_MSPCONFIGPATH=fabric源碼目錄下dev-network/msp(絕對路徑)
    CORE_PEER_ADDRESS=127.0.0.1:7051
    FABRIC_CFG_PATH=fabric源碼目錄下/dev-network(絕對路徑)
  • 9,接着調試網絡,用debug模式運行 peer 下的 main.go 文件 並添加配置,絕對路徑的地方相對修改,而後運行

    Program arguments:

    chaincode query -n mycc -c "{\"Args\":[\"query\",\"a\"]}" -C myc

    Environment:

    CORE_PEER_LOCALMSPID=DEFAULT
    CORE_PEER_ID=cli
    CORE_PEER_MSPCONFIGPATH=fabric源碼目錄下dev-network/msp(絕對路徑)
    CORE_PEER_ADDRESS=127.0.0.1:7051
    FABRIC_CFG_PATH=fabric源碼目錄下/dev-network(絕對路徑)

    看到 Query Result: 90 表示成功

相關文章
相關標籤/搜索