腾讯云区块链服务平台 TBaaS对接 v2.3 网络_AI解决方案_同尘科技
注意区块链 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折起,即将结束: 马上收藏
同尘科技为腾讯云授权服务中心,购买腾讯云享受折上折,更有现金返利:同意关联,立享优惠
阿里云解决方案也看看?: 点击对比阿里云的解决方案
暂无评论,你要说点什么吗?