检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
Service,简称BCS)是华为云面向企业及开发者提供的区块链技术服务平台,它可以帮助您在华为云上快速部署、管理、维护区块链网络,降低您使用区块链的门槛,让您专注于自身业务的开发与创新,实现业务快速上链。 本文旨在帮助您了解区块链服务的基本使用流程,帮助您快速上手区块链服务。 区块链服务BCS支持Hyperledger
创建自定义策略 系统预置的BCS权限,不满足您的授权要求,可以创建自定义策略。 自定义策略中可以添加的华为云区块链引擎的授权项(Action)请参考表1。目前支持以下两种方式创建自定义策略: 可视化视图创建自定义策略:无需了解策略语法,按可视化视图导航栏选择云服务、操作、资源、条件等策略内容,可自动生成策略。
Peer节点 所选通道中,Peer节点的数量。 链代码 已安装链代码的数量。 区块 已产生的区块数量。 交易 已进行的交易数量。 区块列表 单击“区块列表”查看最近生成的区块哈希、数据哈希等详细信息。 交易列表 单击“交易列表”查看最近发生的交易ID、创建者组织、创建时间等交易信息。
Besu实例。 前提条件 如果您使用华为云账号创建的IAM用户进行操作,IAM用户需要具备足够的权限才能操作并订购Hyperledger Besu实例。具体操作请参见:权限管理。 您可以通过先创建用户组并授权再将用户加入到用户组的方式,使用户具有用户组中的权限。 部署Hyperledger Besu实例
效率。 降低成本:减少额外开销和中间第三方的参与。 减少风险:不可篡改性降低了欺诈和网络错误的发生。 增进信任:共享的账本、流程、记录增进参与方之间的可信度。 透明审计:审计机构可随时对不可篡改的账本进行审计。 知识扩展 区块链系统中的数据以区块(block)为单位产生和存储,并
耗时间,但可明显提高数据查询速度。因此可以根据业务需要,合理的在某些字段上建立索引。 添加权限验证 对智能合约执行者的权限进行验证,防止无权限的用户执行链代码。 如果业务上不要求确定的某个组织进行背书,为确保链代码上的数据不被任意组织恶意修改(自己安装非法链代码,操作数据等),建议至少两个或两个以上组织共同参与背书。
SDK。 使用用户证书进行普通的交易和查询操作。 SDK基于该配置文件可以方便地访问区块链网络并完成事务处理,您可以免去手工配置的繁琐流程。 请妥善保管下载用户证书中的私钥,建议您对私钥进行加密存储。 登录区块链服务管理控制台。 单击左侧导航栏中的“实例管理”,选择华为云区块链引擎。
新进行合约的安装或者更新。 更新合约 如果您的合约更新,您需要对新版本合约进行重新安装以满足新的业务需求。 在合约管理页面,单击“操作”列的“更新合约”。 填写版本号、选择安装组织、添加文件等,单击“更新”。 图2 更新合约 更新完成后,合约管理页面则会显示已更新成功的合约信息。
生成的智能合约选择背书策略、安装合约的组织等配置,完成合约的安装和实例化,智能合约最终运行在背书节点中的一个Docker容器内。 智能合约触发 实例化后的智能合约,可以通过外部条件来触发合约执行过程,支持事件触发和交易触发的方式,两种模式均会触发背书节点进行一致性共识,避免恶意节点作恶。
error) 参数说明 参数 类型 说明 fileName string 查询的链上文件名。 startTime string 查询记录的起始时间(秒时间戳)。 endTime string 查询记录的结束时间(秒时间戳) 返回值 类型 说明 []*StorageEvent 文件
Hyperledger Fabric增强版 Hyperledger Fabric增强版的区块链服务BCS提供专业版、企业版和铂金版供您选择使用,每个版本均有不同的规格支持,详细请参见表3。集群规格信息请参考表4。 各版本的价格请参见:产品价格详情。 一个容器集群目前只能部署一个区块链实例。 表3
filePath string 文件下载到本地的路径。 fileName string 待下载文件在链上的名称。不允许包含 "/" versionId int 待下载文件的版本号。版本号要求大于等于1,可以通过查询文件历史版本获取文件的版本号信息。 返回值 类型 说明 error
区块链管理页面无法打开。 解决方案 排查项:基于IEF边缘集群部署的区块链实例 基于IEF边缘集群部署的区块链实例“区块链管理”按钮无法单击,可以参考以下方式进行访问。 登录IEF管理控制台。 选择左侧导航栏的“边缘应用 > 容器应用”。 单击当前BCS实例的baas-agent容器,在实例列表中查看其边缘节点。
提示框授权给BCS,需要您同意授权后,BCS将自动请求获取当前区域下的云资源权限,从而更好地为您提供服务。您也可以单击“查看”授予的权限详情。 在“实例管理”页面,单击Hyperledger Fabric增强版的“购买”按钮。 在“实例管理”页面,选择Hyperledger Fabric增强版页签。
查看baas-agent节点的日志 查看peer节点日志。 执行如下命令查看peer节点的ID。 docker ps|grep peer 图15 查看peer节点的ID 执行如下命令查看peer节点的日志。 docker logs -f ID 图16 查看peer节点的日志 查看orderer节点日志。
开发前准备 用户的应用程序通过链代码与账本数据进行交互。应用程序开发可使用的语言比较广泛,如Golang、Solidity、Java、C++、Python、Node.js等。应用程序和链代码开发语言无强对应关系,只要应用程序能通过SDK来调用链代码即可。 您需要购买区块链实例。
安装及实例化链代码 一个通道里的所有Peer节点都必须安装链代码,然后在其中一个Peer节点上进行链代码实例化。如需使用相同的链代码,通道成员必须在链代码安装期间为链代码提供相同的名称和版本。 邀请方、被邀请方A和B都必须安装链代码。 使用的链代码名称和版本号必须一致。 实例化链
package,可在target目录下获取可安装的合约Jar包,文件名为contract.jar。 合约安装,可参考用户指南 >区块链管理 > 合约管理。 合约压缩文件格式:需确保格式为*.zip,且合约文件位于压缩包文件中的一级目录。 合约压缩文件中,只能包含文件名为contract.jar的文件。 父主题:
init方法:在链代码实例化或升级时被调用,完成初始化数据的工作。 Invoke方法:更新或查询账本数据状态时被调用, 需要在此方法中实现响应调用或查询的业务逻辑。 链代码结构 Java语言的链代码结构如下: package main // 引入必要的包,系统自动操作,只要在maven或gradle中配置即可
描述 target_org_ids 是 Array of strings 可以解密消息的组织ID message 是 String 组织的用户输入需要加密的信息 up_to_chain 否 Boolean 是否加密后发送到链上,默认为true,加密后直接上链 update_group_key