检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 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架构版本的区块链实例:
处理。 在链代码管理页面,单击“安装链代码”。 在安装界面输入“链代码名称”、“链代码版本”等,详细参数配置请参考表1。 图4 安装链代码 表1 链代码信息 参数 描述 链代码名称 链代码名称,以小写字母开头,支持小写字母和数字,长度6-25位。 链代码版本 链代码版本号。 账本数据存储方式
安装链代码 功能介绍 在区块链节点上安装链代码,部分场景只支持go语言链码 调试 您可以在API Explorer中调试该接口,支持自动认证鉴权。API Explorer可以自动生成SDK代码示例,并提供SDK代码示例调试功能。 URI POST /v2/agent/apis/chaincode/install
删除链代码 功能介绍 删除区块链节点上的链代码 调试 您可以在API Explorer中调试该接口,支持自动认证鉴权。API Explorer可以自动生成SDK代码示例,并提供SDK代码示例调试功能。 URI DELETE /v2/agent/apis/chaincode/uninstall
链代码调测 对链代码进行调测,可以使用CloudIDE进行单元测试,具体请参见以下操作。 操作步骤 进入CloudIDE首页。 创建链代码工程,具体请参见创建并启动IDE实例。 图1 创建链代码工程 链代码调测。 以下截图对1.4风格(使用shim包)的链代码进行调测。 父主题:
Test”按钮,执行测试。 图3 执行测试 执行成功如图所示,表示链代码调测无问题: 图4 执行成功 执行失败示例如图所示,请根据失败提示修改链代码或者检查调测代码的逻辑: 图5 执行失败 父主题: Java语言链代码开发
实例化链代码 功能介绍 实例化链代码 调试 您可以在API Explorer中调试该接口,支持自动认证鉴权。API Explorer可以自动生成SDK代码示例,并提供SDK代码示例调试功能。 URI POST /v2/agent/apis/chaincode/instantiate
String 用户的证书文件,以字符串形式上传 以上参数获取方式,详细参见用户指南中的链代码管理和区块浏览器章节。 在链代码管理页面中,单击链代码名称前的,展开链代码详细信息,您可以查看当前链代码的版本列表、安装列表和实例化情况。 在区块浏览器页面中,在通道下拉框中选择一个通道,下
低代码合约开发 传统的智能合约开发需要开发人员使用底层区块链支持的合约语言进行相关业务开发和测试,开发人员不仅要求具备一定的编程能力,还需具备区块链等相关知识以保障合约的安全性。华为区块链提供低代码开发能力,开发人员仅需要根据实际业务画出业务流程建模符号(Business Process
链代码示例(1.4风格) Fabric架构版本的区块链实例: 如下是一个账户转账的链代码示例(1.4风格)仅供安装实例化,若您需要调测请参考Fabric官方示例中的链代码。 package main import ( "fmt" "strconv" "github
链代码示例(2.0风格) Fabric架构版本的区块链实例: 如下是一个账户转账的链代码示例(2.0风格)仅供安装实例化,若您需要调测请参考Fabric官方示例中的链代码。 package main import ( "errors" "fmt"
链代码管理(公测) 获取Token 安装链代码 实例化链代码 获取安装的链码列表 查询指定链码版本信息 查询链代码安装信息 查询链代码实例化信息 查询应用链信息 查询区块列表 查询交易列表 查询交易总数 查询区块交易列表 查询交易详情 查询节点状态 删除链代码 下载报告 父主题:
链代码开发 开发前准备 开发规范 Go语言链代码开发 Java语言链代码开发 父主题: Hyperledger Fabric增强版管理