Hyperledger Fabric 实战(十二): Fabric 源码本地调试

借助开发网络调试 fabric 源码本地调试

准备工作

  • IDE Goland
  • Go 1.9.7
  • fabric-samples 模块 chaincode-docker-devmode
  • fabric 源码
步骤
  • 添加本地域名
    127.0.0.1 peer
    127.0.0.1 orderer

  • 用 ide 打开 $GOPATH 下的fabric源码目录

  • 在源码目录下添加 dev-network

  • 把 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.block

  • 1,接着调试网络,用debug模式运行 order 下的 main.go 文件 并添加配置,绝对路径的地方相对修改,然后运行

    Environment:

    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:

    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 表示成功

转载于:https://my.oschina.net/jonluo/blog/3003101

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值