检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
invoke(ChaincodeStub stub) { } } init方法:在链代码实例化或升级时被调用,完成初始化数据的工作。 Invoke方法:更新或查询账本数据状态时被调用, 需要在此方法中实现响应调用或查询的业务逻辑。 链代码结构 Java语言的链代码结构如下: package main
e) pb.Response { // 在该方法中实现链代码运行中被调用或查询时的处理逻辑 // 编写时可灵活使用stub中的API } //主函数,需要调用shim.Start()方法 func main() { err := shim
// 功能:合约被调用(invoke)接口,需要合约开发者在智能合约中实现此接口,将主要的合约执行逻辑,放到此接口内,供合约使用者调用。 // 入参:stub是智能合约合约SDK为本次合约执行交易准备的上下文对象,可以通过stub提供的API函数,获取交易请求相关信息、读写状态数据库、写日志等
参数名 类型 描述 newCipherBalance string 余额密文 QueryBalance查询余额 查询余额功能比较简单,根据key来查询value,即根据账户地址来查询当前余额,具体可见transaction_demo的queryBalance接口。 queryBalance接口参数如下:
合约SDK(index.ts)提供如下API接口,可以在合约文件中进行调用。这些API按照功能可以划分为: 表1 辅助功能 接口 说明 FuncName(txid :string ) :string 获取智能合约请求中指定的智能合约函数名称。 Parameters(txid: string):Array<ArrayBuffer>
return pr } 分批次查询数据 该内容仅适用于Fabric架构版本的区块链实例。 查询账本数据时,如果在一次查询中返回过多的数据,会导致资源占用过多,接口延时较长(超过30s时peer会中断任务),应预先估计数据量,分批次进行查询。 修改或删除账本数据调用链代码时,同样也需要根据
(Iterator, error) 功能:查询状态数据库中,按字典序,以startKey开头,以endKey结尾的所有状态数据,结果以迭代器的形式呈现;查询范围是左闭右开的,[startKey, endKey)。 入参:startKey是待查询状态数据的按字典序的起始key,startKey
对获取到的函数名称进行判断 if function == "invoke" { // 调用 invoke 函数实现转账操作 return t.invoke(stub, args) } else if function == "delete" { // 调用 delete
下: App客户端的典型逻辑过程是: 注册用户 注册用户时可以调用密钥生成函数为用户生成公私钥。 初始化余额 初始化余额时可以调用初始余额准备函数生成具有隐私保护的初始余额信息。 发起交易 交易时可以调用交易准备函数生成具有隐私保护的交易数据。 链代码端对应的逻辑过程是: 保存用户公钥与地址的映射关系。
ChannelClient主要包括链码查询和链码调用两类接口。 接口名称 描述 参数值 返回值 Query 链码查询接口,调用链码进行查询。 request QueryRequest []byte, error QueryWithOpts 带options的链码查询接口,与Query类似,但
状态标识,可直观的查看当前业务是否完成。 接口服务。 目前支持业务应用通过项目生成的JAVA SDK调用智能合约,后续为了方便用户快速接入区块链系统,将提供快速构建Restful API的方式接入,用户可以在SDK和 Restful API之间选择适合的方式调用智能合约接入区块链系统。
获取账号ID 在调用接口的时候,部分URL中需要填入账号ID(domain-id),所以需要先在管理控制台上获取到账号ID。账号ID获取步骤如下: 登录管理控制台。 单击用户名,在下拉列表中单击“我的凭证”。 在“API凭证”页面中查看账号ID。 图1 获取账号ID 父主题: 附录
获取账号ID 在调用接口的时候,部分URL中需要填入账号ID(domain-id),所以需要先在管理控制台上获取到账号ID。账号ID获取步骤如下: 登录管理控制台。 单击用户名,在下拉列表中单击“我的凭证”。 在“API凭证”页面中查看账号ID。 图1 获取账号ID 父主题: 附录
概述 为了能在应用程序中使用区块链服务,可参考本章节完成应用程序的开发。 开发完成后,应用程序可以调用合约将业务数据发送到链上或从链上进行查询,以及查询区块链的块高、查看某个区块的详情和查看某笔交易的详情等。 父主题: 应用程序开发
100>;在区块链上查询键值为testuser的value值为100。也可以通过区块链浏览器可以查看交易记录。 通过内存传入私钥 如果用户需要对私钥文件进行加密,并在demo中解密后传入FabricSDK。 对于MSP私钥:在FabricHelper文件的genFabricUser函数中,按如下方式调用函数:
后刷新查看通知状态 您已同意加入此通道,请勿再次单击并稍后刷新查看通知状态。 400 BCS.4001042 Failed to query the member information because the etcd connection is abnormal. 查询成员信息失败,ETCD连接异常
后刷新查看通知状态 您已同意加入此通道,请勿再次单击并稍后刷新查看通知状态。 400 BCS.4001042 Failed to query the member information because the etcd connection is abnormal. 查询成员信息失败,ETCD连接异常
格。 图12 变更规格 查看告警 登录区块链服务管理控制台。 在左侧导航栏,单击“实例管理”,可查看已创建实例的基本信息,包括区块链的类型、共识策略、状态、创建时间等信息。 在实例卡片上单击区块链名称,可查看区块链实例的详细信息。 单击“监控”页签,可查看告警信息。这里展示的是与
获取项目ID 调用API获取项目ID 项目ID还用通过调用查询指定条件下的项目信息API获取。 获取项目ID的接口为“GET https://{Endpoint}/v3/projects/”,其中{Endpoint}为IAM的终端节点。接口的认证鉴权请参见认证鉴权。 响应示例如下
local "}]" Opmethod 区块链链码调用类型,目前只有两类:invoke和query。 "invoke" Args 链码调用参数。 '["invoke","a","b","100"]' (第一个参数为invoke的调用函数,可以是其他值如:move,query等等) 配