tencent cloud

腾讯云区块链服务平台 TBaaS

产品动态
产品简介
产品概述
产品功能
底层引擎
产品优势
应用场景
基本概念
购买指南
购买页说明
欠费说明
定价与规格说明
快速入门
Hyperledger Fabric
操作指南
联盟
事件中心
网络概览
通道管理
合约管理
组织管理
节点管理
区块链浏览器
证书管理
审计日志
节点监控与日志
开发指南
Hyperledger Fabric
应用系统对接
API 文档
History
Introduction
API Category
Making API Requests
Hyperledger Fabric 2.3 APIs
Data Types
Error Codes
常见问题
产品协议
数据处理和安全协议
联系我们

对接 v2.3 网络

PDF
聚焦模式
字号
最后更新时间: 2025-04-10 00:41:11
注意:
区块链 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.0
client:
# 客户端默认使用的组织
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.crt
entityMatchers:
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-net
version: 1.0.0
client:
# 客户端默认使用的组织
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.crt
entityMatchers:
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"。

帮助和支持

本页内容是否解决了您的问题?

填写满意度调查问卷,共创更好文档体验。

文档反馈