区块链服务 BCS-GO SDK Demo:常用API接口
常用API接口
Fabric-sdk-go的主要入口是FabricSDK类,这个可以通过NewSDK()方法分别可以生成。
Fabric-sdk-go的常用操作基本都可以用这四个client实现:FabricClient,ChannelClient,ChannelMgmtClient,ResourceMgmtClient。
- FabricSDK
FabricSDK在pkg\fabsdk\fabsdk.go中,通过New ()方法生成object。New ()方法支持可变参数Option,以下是生成FabricSDK的例子:
var opts []fabsdk.Option
opts = append(opts, fabsdk.WithOrgid(org))
opts = append(opts, fabsdk.WithUserName("Admin"))
sdk, err = fabsdk.New(config.FromFile(configFile), opts...)
configFile是SDK配置文件的路径。OrgId是SDK配置文件中的组织id。
FabricSDK在def/fabapi/fabapi.go中,通过NewSDK()方法生成object。NewSDK()方法有一个Options参数,以下是生成Options参数的例子:
deffab.Options{ConfigFile: configFile, LoggerFalogging.LoggerProvider(), UserName: sysadmin}
ConfigFile是SDK配置文件的路径。LoggerFactory是可选的,不提供的话default会log到console。
- FabricClient
FabricClient主要有以下常用的接口。
接口名称
描述
参数值
返回值
CreateChannel
创建Channel的接口,用于创建channel。
request
CreateChannelRequest
txn.TransactionID, error
QueryChannelInfo
查询Channel的接口,用于查询Channel的信息。
name string, peers
[]Peer
Channel, error
InstallChaincode
安装链码的接口,安装链码到 区块链 中。
request
InstallChaincodeRequest
[]*txn.TransactionPropos
lResponse, string, error
InstallChaincode
安装链码的接口,安装链码到区块链中。
request
InstallChaincodeRequest
[]*txn.TransactionPropos
lResponse, string, error
QueryChannels
查询channel的接口,查询区块链中已创建的通道。
peer Peer
*pb.ChannelQueryResponse, error
QueryInstalledChaincodes
查询已安装链码的接口,查询区块链中已安装的链码。
peer Peer
*pb.ChaincodeQueryResponse, error
- ChannelClient
ChannelClient主要包括链码查询和链码调用两类接口。
接口名称
描述
参数值
返回值
Query
链码查询接口,调用链码进行查询。
request
QueryRequest
[]byte, error
QueryWithOpts
带options的链码查询接口,与Query类似,但是可以通过QueryOpts指定notifier, peers,和timeout。
request
QueryRequest, opt
QueryOpts
[]byte, error
ExecuteTx
链码调用接口,用于链码的调用。
request
ExecuteTxRequest
TransactionID,
error
ExecuteTxWithOpts
带options的链码调用接口,与ExecuteTx类似,但是可以通过ExecuteTxOpts指定notifier, peers,和timeout。
request
ExecuteTxRequestopt ExecuteTxOpts
TransactionID,
error
- ChannelMgmtCLient
ChannelMgmtClient 只有两个接口SaveChannel(req SaveChannelRequest) error 和SaveChannelWithOpts(req SaveChannelRequest, opts SaveChannelOpts) error 这两个接口是用于创建channel用的,这两个接口里面具体实现会调用到FabricClient里createChannel()接口。
- ResourceMgmtClient
ResourceMgmtClient主要就是与链码生命周期相关的接口和一个peer加入通道的接口。
接口名称
描述
参数值
返回值
InstallCC
安装链码,用于安装链码。
reqInstallCCRequest
[]InstallCCResponse, error
InstallCCWithOpts
带options的链码安装,与InstallCC类似,但是可以通过InstallCCOpts指定peers。
reqInstallCCRequest,opts InstallCCOpts
[]InstallCCResponse, error
InstantiateCC
实例化链码接口,用于实例化链码。
channelID string,reqInstantiateCCRequest
error
InstantiateCCWithOpts
带options的链码实例化,与InstantiateCC类似,但是可以通过InstantiateCCOpts指定peers和timeout。
channelID string,reqInstantiateCCRequest, optsInstantiateCCOpts
error
UpgradeCC
升级链码,用于链码的升级。
channelID string,reqUpgradeCCRequest
error
UpgradeCCWithOpts
带options的链码升级,与UpgradeCC类似,但是可以通过UpgradeCCOpts指定peers和timeout。
channelID string,reqUpgradeCCRequest, optsUpgradeCCOpts
error
DeleteCC
删除链码,用于链码的删除,目前只有删除安装包的功能。
channelID string,reqDeleteCCRequest
error
DeleteCCWithOpts
带options的链码删除,与DeleteCC类似,但是可以通过DeleteCCWithOpts指定peers和timeout。
channelID string,reqDeleteCCRequest,opts DeleteCCOpts
error
JoinChannel
Peers加入Channel的接口,用于peers加入Channel。
channelID string
error
JoinChannelWithOpts
带options的Peers加入Channel的接口,与JoinChannel类似,但是可以通过JoinChannelOpts指定peers。
channelID string,optsJoinChannelOpts
error
带options的接口都可以指定peers,peers可通过def/fabapi/pkgfactory.go 里的NewPeer(userName string, orgName string, url string, certificate string, serverHostOverride string, config config.Config) (fab.Peer, error) 生成。这个method比原生的NewPeer多两个参数userName, orgName, 这两个参数用于peer双向tls找到对应的tls证书。
- 华为云CodeArts API_接口迁移_接口导入
- 快递查询_快递物流查询_快递查询API接口
- ocr文字识别接口_ocr识别api_OCR接口
- 华为云CodeArts API_API测试_接口测试_关键字
- 华为云CodeArts API_如何利用CodeArts API设计一个接口?
- 购买区块链实例_订购区块链实例_区块链实例是什么_区块链实例购买流程
- HuaweiCloud SDK镜像
- 调用GaussDB(DWS) API接口_数据仓库服务调用API_如何调用API_在DWS中调用API
- 106短信发送_短信接口API_短信群发助手
- 手机查询快递_快递物流查询_快递查询API接口_快递查询