腾讯云区块链服务平台 TBaaS对接 v2.3 网络_AI解决方案_同尘科技

腾讯云区块链服务平台TBaaS 1年前 (2023-11-20) 浏览 72

注意区块链 SDK 对接网络调用方式支持 Fabric 网络。若应用系统调用频率较高,则需要直接使用区块链 SDK 与区块链网络对接,相比云 API 调用方式性能更高。除了支持社区版区块链 SDK(Java、NodeJS、Golang),TBaaS 对 Golang 版和 Java 版的社区区块链 SDK 进行了定制(tbaas-fabric-sdk-go 和 tbaas-fabric-sdk-java),简化了应用系统与区块链网络连接的流程。

1. 获取网络名和访问地址

1. 登录 TBaaS 控制台,选择左侧导航栏中的 Fabric > 区块链网络。2. 在区块链网络页面,选择需查看的网络,单击管理进入网络概览页面。3. 在网络基础信息模块找到网络名和访问地址,填写到配置文件的网络名和 url 相关字段。如下图所示:

2. 获取 MSP 和组织名

1. 在组织与节点页签,选择网络组织。2. 找到当前组织信息,填写到配置文件的 MSP 相关字段;截取.左边的部分,如org-251005746,填写到配置文件的组织名相关字段。如下图所示:

3. 获取节点名称

1. 在组织与节点页签,选择节点管理。2. 找到当前组织的节点列表,选择一个节点并复制节点名称,填写到配置文件的关于节点名字段。如下图所示:

4. 部署合约

1. 在合约管理页签,单击新建合约。2. 在新建合约中,填写如下基本信息:合约名称:填写 mycc合约版本:填写 v1.0选择合约语言:选择 Go上传合约压缩包3. 单击安装,并选择 peer 节点。
4. 单击合约实例化,等待合约状态更新为”已实例化”即可。

5. 申请证书流程

1. 前往 OpenSSL 官网,下载 openssl 并配置安装。2. 下载 ecccsr 工具,解压后执行 sh ecccsr.sh,该命令会生成以下四个文件:user_ecc_sign.key:为用户证书对应私钥,需安全保存,支持在 SDK 中使用。user_ecc_sign.csr:用于在 TBaaS 控制台 申请用户证书。user_ecc_tls.key:为用户 tls 证书对应私钥,需安全保存,支持在 SDK 中使用。user_ecc_tls.csr:用于在 TBaaS 控制台 申请用户 tls 证书。3. 在证书管理界面添加申请证书,填写证书标识,并上传 user_ecc_sign.csr 和 user_ecc_tls.csr。如下图所示:
4. 申请成功后可以单击下载对应证书,压缩包包含如下文件:ca.crt:组织根证书user_sign.crt:用户证书user_tls.crt:用户 tls 证书5. 将三个证书 ca.crt,user_sign.crt,user_tls.crt 和两个私钥 user_ecc_sign.key 和 user_ecc_tls.key 放置到对应 SDK 的证书目录下并替换。修改 SDK 配置文件 config.yml 的相应的路径。

6. SDK 使用

6.1 tbaas-fabric-sdk-go

1. 下载进入 tbaas-fabric-sdk-go,进入 tbaas-fabric-sdk-go/fabric-sdk-demo 目录。2. 将 main.go 示例代码中的 configFile,mspId,username,channelName 和 contractName 进行相应修改,示例如下:

  const (	configFile = "config/config.yaml"	// 组织MSPID	mspId = "org-251005746.fabric-5x6wdaow3q"	// 用户名	username = "test"	// 通道名	channelName = "channel-9xjcb2"	// 合约名	contractName = "gotest")

3. 更新配置 yml 文件中相关的内容:

version: 1.0.0client:  # 客户端默认使用的组织  organization: org-251005746  logging:    # sdk日志级别    level: info  tlsCerts:    client:      # 用户TLS私钥路径      key:        path: config/test/user_ecc_tls.key      # 用户TLS证书路径      cert:        path: config/test/user_tls.crt# 通道信息channels:  # 通道名  channel-9xjcb2:    # peer节点列表    peers:      # peer节点名      peer1-org-251005746.fabric-5x6wdaow3q:    # orderer节点列表    orderers:      - orderer1-org-251005746.fabric-5x6wdaow3q# 组织信息organizations:  # 组织名  org-251005746:    # 组织mspId,形式为${orgName}.${clusterId},orgName为组织名,clusterId为网络ID    mspid: 	org-251005746.fabric-5x6wdaow3q    # 该组织下的节点列表    peers:    - peer1-org-251005746.fabric-5x6wdaow3q    # 组织用户    users:      # 用户名      test:        # 用户私钥路径        key:          path: config/test/user_ecc_sign.key        # 用户证书路径        cert:          path: config/test/user_sign.crt# 节点信息peers:  # peer节点名  peer1-org-251005746.fabric-5x6wdaow3q:    # peer节点url    url: grpcs://org-251005746-fabric-5x6wdaow3q.tbaas.tech:8080    grpcOptions:      # peer节点TLS中的SNI,使用节点名      ssl-target-name-override: peer1-org-251005746.fabric-5x6wdaow3q    # TLS CA证书路径    tlsCACerts:      path: config/test/ca.crtentityMatchers:  peer:    # 需要配置为发起peer    - pattern: (\w*)peer1-org-251005746.fabric-5x6wdaow3q(\w*)      mappedHost: peer1-org-251005746.fabric-5x6wdaow3q    # 多组织背书配置如下,前三项需配置为其他背书组织的PeerName,urlSubstitutionExp与orderer的相同#    - pattern: peer1-org-251005762.fabric-5x6wdaow3q#      mappedHost: peer1-org-251005762.fabric-5x6wdaow3q#      sslTargetOverrideUrlSubstitutionExp: peer1-org-251005762.fabric-5x6wdaow3q#      urlSubstitutionExp: grpcs://org-251005746-fabric-5x6wdaow3q.tbaas.tech:8080  orderer:    - pattern: (\w+)      sslTargetOverrideUrlSubstitutionExp : "${1}"      urlSubstitutionExp: grpcs://org-251005746-fabric-5x6wdaow3q.tbaas.tech:8080

4. 执行以下命令:

go run main.go

成功运行可以查看到如下图输出:

6.2 tbaas-fabric-sdk-java

1. 下载 tbaas-fabric-sdk-java。2. 按照 Readme 文档安装 jar 包。3. 将 eccDemo.java 示例代码中的 wallet, identity, network, username 和 contract 进行相应修改。4. 更新配置 yml 文件中相关的内容:

name: test-netversion: 1.0.0client:  # 客户端默认使用的组织  organization: org-251005746  logging:    # sdk日志级别    level: info  tlsCerts:    client:      # 用户TLS私钥路径      key:        path: src/main/resources/crypto-config/eccUser/user_ecc_tls.key      # 用户TLS证书路径      cert:        path: src/main/resources/crypto-config/eccUser/user_tls.crt# 通道信息channels:  # 通道名  channel-9xjcb2:    # peer节点列表    peers:      # peer节点名      peer1-org-251005746.fabric-5x6wdaow3q:        endorsingPeer: true        chaincodeQuery: true        ledgerQuery: true        eventSource: true    # orderer节点列表    orderers:      - orderer1-org-251005746.fabric-5x6wdaow3q# 组织信息organizations:  # 组织名  org-251005746:    # 组织mspId,形式为${orgName}MSP-${clusterId},orgName为组织名,clusterId为网络ID    mspid: org-251005746.fabric-5x6wdaow3q    # 该组织下的节点列表    peers:      - peer1-org-251005746.fabric-5x6wdaow3q    # 组织用户    users:      # 用户名      eccUser:        # 用户私钥路径        key:          path: src/main/resources/crypto-config/eccUser/user_ecc_sign.key        # 用户证书路径        cert:          path: src/main/resources/crypto-config/eccUser/user_sign.crt# 节点信息peers:  # peer节点名  peer1-org-251005746.fabric-5x6wdaow3q:    # peer节点url    url: grpcs://org-251005746-fabric-5x6wdaow3q.tbaas.tech:8080    grpcOptions:      # peer节点TLS中的SNI,使用节点名      hostnameOverride: peer1-org-251005746.fabric-5x6wdaow3q    # TLS CA证书路径    tlsCACerts:      path: src/main/resources/crypto-config/eccUser/ca.crt# 节点信息orderers:  # peer节点名  orderer1-org-251005746.fabric-5x6wdaow3q:    # peer节点url    url: grpcs://org-251005746-fabric-5x6wdaow3q.tbaas.tech:8080    grpcOptions:      # peer节点TLS中的SNI,使用节点名      hostnameOverride: orderer1-org-251005746.fabric-5x6wdaow3q    # TLS CA证书路径    tlsCACerts:      path: src/main/resources/crypto-config/eccUser/ca.crtentityMatchers:  peer:    - pattern: (\w*)peer1-org-251005746.fabric-5x6wdaow3q(\w*)      mappedHost: peer1-org-251005746.fabric-5x6wdaow3q    - pattern: (\w+)      sslTargetOverrideUrlSubstitutionExp: "${1}"      urlSubstitutionExp: grpcs://org-251005746-fabric-5x6wdaow3q.tbaas.tech:8080  orderer:    - pattern: (\w+)      sslTargetOverrideUrlSubstitutionExp : "${1}"      urlSubstitutionExp: grpcs://org-251005746-fabric-5x6wdaow3q.tbaas.tech:8080

5. 运行 eccDemo.java。6. 成功运行可以查看到输出为:”交易后:20″。

对腾讯云区块链服务平台 TBaaS的解决方案有疑惑?想了解解决方案收费? 联系解决方案专家

腾讯云限时活动1折起,即将结束: 马上收藏

同尘科技为腾讯云授权服务中心,购买腾讯云享受折上折,更有现金返利:同意关联,立享优惠

阿里云解决方案也看看?: 点击对比阿里云的解决方案

- 0人点赞 -

发表点评 (0条)

not found

暂无评论,你要说点什么吗?