超级账本hyperledger fabric第十四集:外部服务SDK

本文介绍了如何使用Hyperledger Fabric的SDK为外部服务提供接口,包括Node.js、Java、Python和Golang四种语言的选择与优缺点。详细讲解了SDK的模块,如区块链管理、数据查询和链码交互等功能,并提供了SDK下载、配置及测试的步骤,包括在GoLand中创建应用、编写HTTP访问代码、部署到Linux以及使用Postman进行测试。
摘要由CSDN通过智能技术生成

外部服务分析:

  • 如何提供外部服务
    1. 企业内部各种数据接口,rpc  grpc
    2. 网站(web),手机(app),通过http(案例中使用的)
    3. 智能硬件,socket服务
  • SDK提供外部服务,SDK的语言选择
    1. node.js(官方推荐,效率9颗星)
    2. java(实际使用量最大的9颗星)
    3. python(使用不太多 3颗星)
    4. golang(不稳定,常用方法也没有 1颗星)
  • SDK的模块
    1. 区块链管理:例如通道的创建和加入、链码的安装、实例化等
    2. 数据查询:区块和交易的查询
    3. 区块链交互(链码交互):发起交易  invoke  query
    4. 事件监听:业务事件、系统事件

SDK的下载和使用:

这里使用测试3的版本

  • goland中创建application目录,首先将config.yaml拷贝到application目录,config.yaml文件是关于MSP、orederer、peer节点的配置信息
version: 1.0.0

#
# The client section used by GO SDK.
#
client:
  organization: org1
  logging:
    level: debug
  eventService:
    type: eventhub
  cryptoconfig:
    #修改路径如下
    path: ${GOPATH}/src/fabric_asset/deploy/crypto-config

  credentialStore:
    path: "/tmp/state-store"

    cryptoStore:
      path: /tmp/msp

  #密码学相关配置
  BCCSP:
    security:
     enabled: true
     default:
      provider: "SW"
     hashAlgorithm: "SHA2"
     softVerify: true
     level: 256

  tlsCerts:
    systemCertPool: true

    client:
      key:
        path: ${GOPATH}/src/github.com/hyperledger/fabric-sdk-go/test/fixtures/config/mutual_tls/client_sdk_go-key.pem
      cert:
        path: ${GOPATH}/src/github.com/hyperledger/fabric-sdk-go/test/fixtures/config/mutual_tls/client_sdk_go.pem

channels:
  assetschannel:
    orderers:
      - orderer.example.com

    peers:
      peer0.org1.example.com:
        endorsingPeer: true
        chaincodeQuery: true
        ledgerQuery: true
        eventSource: true

      peer1.org1.example.com:
        endorsingPeer: true
        chaincodeQuery: true
        ledgerQuery: true
        eventSource: true

    policies:
      queryChannelConfig:
        minResponses: 1
        maxTargets: 1
        retryOpts:
          attempts: 5
          initialBackoff: 500ms
          maxBackoff: 5s
          backoffFactor: 2.0


organizations:
  org1:
    mspid: Org1MSP

    cryptoPath:  peerOrganizations/org1.example.com/users/{username}@org1.example.com/msp

    peers:
      - peer0.org1.example.com

    certificateAuthorities:

  ordererorg:
      mspID: "OrdererMSP"

      cryptoPath: ordererOrganizations/example.com/users/{username}@example.com/msp


orderers:
  orderer.example.com:
    #生产环境下需要修改
    url: 127.0.0.1:7050
    grpcOptions:
      ssl-target-name-override: orderer.example.com
      keep-alive-time: 0s
      keep-alive-timeout: 20s
      keep-alive-permit: false
      fail-fast: false
      allow-insecure: true

    tlsCACerts:
      path: ${GOPATH}/src/github.com/hyperledger/fabric-sdk-go/${CRYPTOCONFIG_FIXTURES_PATH}/ordererOrganizations/example.com/tlsca/tlsc
评论 18
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值