检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
Apache Log4j2 远程代码执行漏洞(CVE-2021-44228)公告 漏洞描述 近日,关于Apache Log4j2存在一处远程代码执行漏洞(CVE-2021-44228),在引入Apache Log4j2处理日志时,会对用户输入的内容进行一些特殊的处理,攻击者可以构
开发前准备 链代码(Chaincode)又称智能合约,是用Go、Java或Node.js语言编写的程序,主要用于操作账本上的数据。链代码是运行在区块链上的、特定条件下自动执行的代码逻辑,是用户利用区块链实现业务逻辑的重要途径。基于区块链特点,智能合约的运行结果是可信的,其结果是无法被伪造和篡改的。
链代码示例 交易链码是用户实现其业务逻辑的链码,这里给出的示例代码Transaction Chaincode完成用户间的转账操作。在转账数据的验证过程中使用同态加密库对密文交易数据进行合法性校验,确保没有非法操作。示例中实现了余额初始化,余额查询,转账交易三个功能函数,具体功能实现参考如下。
概述 用户的应用程序通过链代码与账本数据进行交互。应用程序开发可使用的语言比较广泛,如Golang、Solidity、Java、C++、Python、Node.js等。应用程序和链代码开发语言无强对应关系,只要应用程序能通过SDK来调用链代码即可。 Hyperledger Fab
开发前准备 用户的应用程序通过链代码与账本数据进行交互。应用程序开发可使用的语言比较广泛,如Golang、Solidity、Java、C++、Python、Node.js等。应用程序和链代码开发语言无强对应关系,只要应用程序能通过SDK来调用链代码即可。 您需要购买区块链实例。
链代码结构 本章以Java语言为例来介绍。链代码即一个Java项目,创建好文件后进行函数开发等操作。 约束与限制 Java链代码仅支持Fabric 2.2及以上版本。 Java链代码仅适用于Fabric架构版本的区块链实例。 链代码接口 链代码启动必须通过调用shim包中的start方法。实际开发中,
链代码示例 如下是一个读写数据的链代码示例,您也可以参考Fabric官方示例中其他链代码。 新建Java项目时,您可以选择新建maven或者gradle项目,以导入依赖包。本示例以gradle项目为例。 /* 导入此段代码到项目的build.gradle前,请删除或注释build
链代码结构 本章以Go语言为例来介绍。链代码即一个Go文件,创建好文件后进行函数开发等操作。 当前支持两种方式编写链码:1.4风格(使用shim包)和2.2风格(使用fabric-contract-api-go包)。 区块链服务BCS支持使用两种风格编写的链代码。 链代码接口 Fabric架构版本的区块链实例:
删除链代码 功能介绍 删除区块链节点上的链代码 调试 您可以在API Explorer中调试该接口,支持自动认证鉴权。API Explorer可以自动生成SDK代码示例,并提供SDK代码示例调试功能。 URI DELETE /v2/agent/apis/chaincode/uninstall
处理。 在链代码管理页面,单击“安装链代码”。 在安装界面输入“链代码名称”、“链代码版本”等,详细参数配置请参考表1。 图4 安装链代码 表1 链代码信息 参数 描述 链代码名称 链代码名称,以小写字母开头,支持小写字母和数字,长度6-25位。 链代码版本 链代码版本号。 账本数据存储方式
安装链代码 功能介绍 在区块链节点上安装链代码,部分场景只支持go语言链码 调试 您可以在API Explorer中调试该接口,支持自动认证鉴权。API Explorer可以自动生成SDK代码示例,并提供SDK代码示例调试功能。 URI POST /v2/agent/apis/chaincode/install
链代码调测 对链代码进行调测,可以使用CloudIDE进行单元测试,具体请参见以下操作。 操作步骤 进入CloudIDE首页。 创建链代码工程,具体请参见创建并启动IDE实例。 图1 创建链代码工程 链代码调测。 以下截图对1.4风格(使用shim包)的链代码进行调测。 父主题:
Test”按钮,执行测试。 图3 执行测试 执行成功如图所示,表示链代码调测无问题: 图4 执行成功 执行失败示例如图所示,请根据失败提示修改链代码或者检查调测代码的逻辑: 图5 执行失败 父主题: Java语言链代码开发
String 用户的证书文件,以字符串形式上传 以上参数获取方式,详细参见用户指南中的链代码管理和区块浏览器章节。 在链代码管理页面中,单击链代码名称前的,展开链代码详细信息,您可以查看当前链代码的版本列表、安装列表和实例化情况。 在区块浏览器页面中,在通道下拉框中选择一个通道,下
题的简要说明、错误示例代码、扫描详情、修改建议和示例代码供您参考。 图3 扫描详情 您可以根据链代码检查结果对代码进行修改后,重新进行链代码的安装或者更新。 实例化链代码 链代码安装完成后,在链代码列表的“操作”列,单击“实例化”。 选择实例化通道、链代码版本、初始化函数、背书策略和背书组织等参数。
链代码示例(1.4风格) Fabric架构版本的区块链实例: 如下是一个账户转账的链代码示例(1.4风格)仅供安装实例化,若您需要调测请参考Fabric官方示例中的链代码。 package main import ( "fmt" "strconv" "github
实例化链代码 功能介绍 实例化链代码 调试 您可以在API Explorer中调试该接口,支持自动认证鉴权。API Explorer可以自动生成SDK代码示例,并提供SDK代码示例调试功能。 URI POST /v2/agent/apis/chaincode/instantiate
链代码相关的API Fabric源码包中的shim包提供了如下几种类型的接口,您可以参考使用: 参数解析API:调用链代码时需要给被调用的目标函数/方法传递参数,该API提供解析这些参数的方法。 账本状态数据操作API:该API提供了对账本数据状态进行操作的方法,包括对状态数据的查询及事务处理等。
低代码合约开发 传统的智能合约开发需要开发人员使用底层区块链支持的合约语言进行相关业务开发和测试,开发人员不仅要求具备一定的编程能力,还需具备区块链等相关知识以保障合约的安全性。华为区块链提供低代码开发能力,开发人员仅需要根据实际业务画出业务流程建模符号(Business Process
Fabric增强版实例卡片中,单击“获取客户端配置”。 在“请选择要下载的配置文件”页面,勾选“SDK文件”,输入链代码名称和证书存放路径,其余参数采用默认值。 链代码名称:需要与安装和实例化链代码时使用的链代码名称保持一致。例如:chaincodedemo。 证书存放路径:区块链应用证书下载后存放的目