区块链服务 BCS-GO SDK Demo:调用合约
调用合约
Main.go是一个简单的客户端应用示例程序,主要是为了方便用户熟悉客户端开发的流程,主要包含以下步骤:
//1.导入相关包:Sdk包中提供了一些API,以便用户的应用程序能够访问链代码。import ( "fmt" "github.com/hyperledger/fabric-sdk-go/pkg/client/channel" "github.com/hyperledger/fabric-sdk-go/pkg/fabsdk" ……)//2.创建文件配置:这部分封装了应用开发必要的一些公共配置,包括sdk配置文件路径、组织名var ( configFile = "/root/fabric-go-demo/config/go-sdk-demo-channel-sdk-config.yaml" org = "9103f17cb6b4f69d75982eb48bececcc51aa3125" ……)//3.加载配置文件loadConfig()//4. 初始化sdkinitializeSdk()//5. 执行链代码,将数据写入账本,key = "testuser",value= "100"insert("insert",[][]byte{ []byte("testuser"), []byte("100"),})//6.查询链代码,输出查询结果,key = "testuser" query("query",[][]byte{[]byte("testuser"),})
函数名 |
说明 |
---|---|
getOptsToInitializeSDK |
解析配置文件,创建并返回fabsdk.Option对象。 |
GetDefaultChaincodeId |
解析配置文件,返回chaincodeID。 |
GetDefaultChannel |
解析配置文件,返回channelID。 |
UserIdentityWithOrgAndName |
用户身份验证,输入为组织名和用户名,返回为验证结果。 |
ChannelClient |
创建*channel.Client对象,输入为组织名、用户名以及通道ID,返回*channel.Client对象。 |
insert |
将数据写入账本,输入参数为链码的对应方法名称以及要插入的键值对,返回为写入的结果。 |
query |
查询链上信息,输入参数为链码的对应方法名称以及要查询的数据,返回为查询的结果。 |