检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
示例Demo Java语言示例Demo基于Java SDK开发,主要用于帮助开发人员理解并开发Java客户端应用程序,使用步骤如下: 单击链接获取Java客户端示例[链接]。 完成客户端初始化参数配置(App.java),进行使用(配置可参考SDK客户端配置)。 示例Demo项目结构如下
链代码结构 本章以Java语言为例来介绍。链代码即一个Java项目,创建好文件后进行函数开发等操作。 约束与限制 Java链代码仅支持Fabric 2.2及以上版本。 Java链代码仅适用于Fabric架构版本的区块链实例。 链代码接口 链代码启动必须通过调用shim包中的start
链代码示例 如下是一个读写数据的链代码示例,您也可以参考Fabric官方示例中其他链代码。 新建Java项目时,您可以选择新建maven或者gradle项目,以导入依赖包。本示例以gradle项目为例。 /* 导入此段代码到项目的build.gradle前,请删除或注释build.gradle
合约示例 Java语言合约开发和调测可参考合约示例,使用步骤如下: 合约开发Demo。 编写Java合约。 Java合约示例。 父主题: JAVA合约开发
合约安装 Java语言合约安装步骤如下: 部署合约时,执行mvn package,可在target目录下获取可安装的合约Jar包,文件名为contract.jar。 合约安装,可参考用户指南 >区块链管理 > 合约管理。 合约压缩文件格式:需确保格式为*.zip,且合约文件位于压缩包文件中的一级目录
链代码相关的API Fabric源码包中的shim包提供了如下几种类型的接口,您可以参考使用: 参数解析API:调用链代码时需要给被调用的目标函数/方法传递参数,该API提供解析这些参数的方法。 账本状态数据操作API:该API提供了对账本数据状态进行操作的方法,包括对状态数据的查询及事务处理等
链代码示例(1.4风格) Fabric架构版本的区块链实例: 如下是一个账户转账的链代码示例(1.4风格)仅供安装实例化,若您需要调测请参考Fabric官方示例中的链代码。 package main import ( "fmt" "strconv" "
链代码调测 对链代码进行调测,可以使用CloudIDE进行单元测试,具体请参见以下操作。 操作步骤 进入CloudIDE首页。 创建链代码工程,具体请参见创建并启动IDE实例。 图1 创建链代码工程 链代码调测。 以下截图对1.4风格(使用shim包)的链代码进行调测。 父主题:
SDK配置 表1 Go类型的合约SDK 合约类型 SDK下载 备注 Go 链接 具体使用可参考合约示例和合约安装。 父主题: Go合约开发
如何判断是否有必要使用区块链? 依次回答下列问题对确定区块链技术是否适合项目有一定的帮助。 是否存在多方分享数据? 一个完整可靠的共享记录系统是否会使每个业务关系的参与者受益。 是否存在多方更新数据? 如果多个参与者能够记录和传播并发交易,会不会有更高的数据准确性和及时性。 是否有验证和校验的需求
合约相关的API 合约SDK(index.ts)提供如下API接口,可以在合约文件中进行调用。这些API按照功能可以划分为: 表1 辅助功能 接口 说明 FuncName(txid :string ) :string 获取智能合约请求中指定的智能合约函数名称。 Parameters
SDK客户端配置 SDK客户端配置如下: SDK配置,可参考SDK配置章节。 下载示例对应的配置文件,可参考用户指南->下载配置文件。 客户端初始化,配置内容如下表,配置示例可参考应用程序的示例Demo。 表1 客户端初始化配置介绍 参数 值 ConfigFilePath 链配置文件中
SDK客户端调用 SDK客户端配置后,即可调用SDK进行区块链相关的业务逻辑开发。 表1 SDK接口调用 类型 备注 合约接口 提供通过合约进行交易的发送与查询接口,详情可参考利用合约发送交易、利用合约查询数据。 查询接口 提供查询块高、区块详情以及交易查询等常见接口,详情可参考其他查询
合约结构 AssemblyScript语言合约主要包括index.ts和contract.ts两个文件,其中index.ts为开发智能合约文件(contract.ts)依赖的合约SDK,合约涉及的业务相关开发仅在contract.ts文件,智能合约文件contract.ts需要根据实际业务进行开发
示例Demo 合约编译 Demo工程目录 父主题: Wasm合约开发(AssemblyScript)
链代码结构 本章以Go语言为例来介绍。链代码即一个Go文件,创建好文件后进行函数开发等操作。 当前支持两种方式编写链码:1.4风格(使用shim包)和2.2风格(使用fabric-contract-api-go包)。 区块链服务BCS支持使用两种风格编写的链代码。 链代码接口 Fabric
链代码调测 对链代码进行调测,主要是使用MockStub进行单元测试。本章中测试的链代码获取方法:登录区块链服务管理控制台,进入“应用案例”,单击“Java示例Demo-Java SDK Demo”中“Chaincode_Java_Local_Demo”的“下载”按钮。 添加依赖
SDK客户端调用 SDK客户端配置后,即可调用SDK进行区块链相关的业务逻辑开发,调用示例可参考应用程序的示例Demo。 表1 SDK接口调用 类型 备注 合约接口 提供通过合约进行交易的发送与查询接口,详情可参考利用合约发送交易、利用合约查询数据 查询接口 提供查询块高、区块详情以及交易查询等常见接口
SDK客户端配置 SDK客户端配置如下: SDK配置,可参考SDK配置章节。 下载示例对应的配置文件,可参考用户指南->下载配置文件。 客户端初始化,配置内容如下表,配置示例可参考应用程序的示例Demo。 表1 客户端初始化配置介绍 参数 值 ConfigFilePath 链配置文件中
链代码示例(2.0风格) Fabric架构版本的区块链实例: 如下是一个账户转账的链代码示例(2.0风格)仅供安装实例化,若您需要调测请参考Fabric官方示例中的链代码。 package main import ( "errors" "fmt