检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
配置应用 在邀请方发起交易的时候,邀请方需要下载自己的orderer管理员证书、democraticBank组织的管理员证书以及被邀请方A和B已隐去私钥的证书。 请妥善保管下载证书中的私钥,建议对私钥进行加密存储。 前提条件 已创建弹性云服务器。
图1 操作流程 订购区块链实例 订购联盟链类型的区块链实例,组织成员名为democraticBank。 邀请成员 创建联盟链成功后,由组织成员democraticBank作为邀请方邀请新成员civilizationBank和harmoniousBank加入联盟链。
/opt/bank/src/bank/conf/democraticBank.yaml -v $path/harmoniousBank.yaml:/opt/bank/src/bank/conf/harmoniousBank.yaml -v $path/civilizationBank.yaml
peer节点组织 创建1个节点组织,名称必须与如下内容完全一致: democraticBank,节点数量为2。 通道配置 将通道名称修改为testchannel,并将democraticBank节点组织添加至通道中。 说明: 通道名称必须为testchannel。
openssl pkcs8 -topk8 -nocrypt -in user-key_.pem -out user-key 生成证书请求文件。 openssl req -new -key user-key -out user-csr.pem CA签发证书。
Wasm合约开发(AssemblyScript) 合约结构 合约相关的API 示例Demo 父主题: 合约开发
合约结构 AssemblyScript语言合约主要包括index.ts和contract.ts两个文件,其中index.ts为开发智能合约文件(contract.ts)依赖的合约SDK,合约涉及的业务相关开发仅在contract.ts文件,智能合约文件contract.ts需要根据实际业务进行开发
示例Demo 合约编译 Demo工程目录 父主题: Wasm合约开发(AssemblyScript)
合约编译 下载Node.js软件并安装,安装成功后,执行如下命令查看对应版本(软件对应版本无强制要求)。 node -v npm -v 设置新目录assembly,在该目录下执行 npm init 命令,其中package name输入为assembly(目录名、package name
合约相关的API 合约SDK(index.ts)提供如下API接口,可以在合约文件中进行调用。这些API按照功能可以划分为: 表1 辅助功能 接口 说明 FuncName(txid :string ) :string 获取智能合约请求中指定的智能合约函数名称。 Parameters
Demo工程目录 合约开发和调测可参考合约示例Demo,单击链接获取AssemblyScript语言合约工程Demo。 build目录下optimized.wasm为合约编译后对应的wasm字节码文件(最终合约类型文件为optimized.wasm压缩成的*.zip包,合约示例Demo
下载证书 华为云区块链引擎服务支持执行合约、查询合约等功能。开发应用之前您需要进行证书下载。 操作步骤 登录区块链服务管理控制台。 单击左侧导航栏中的“实例管理”,选择Hyperledger Besu实例。 在实例卡片的右上角,单击“下载证书”,可下载证书zip包。 下载的证书包含
查询凭证模板 功能介绍 根据索引查询凭证模板。 调试 您可以在API Explorer中调试该接口,支持自动认证鉴权。API Explorer可以自动生成SDK代码示例,并提供SDK代码示例调试功能。 URI POST /v1/identity/query-credential-schema
查询块高 消息构建。 接口方法 QueryRawMessage.class public RawMessage buildLatestChainStateRawMessage(String chainId) throws CryptoException 参数说明 参数 类型 说明
利用交易ID查询交易详情 消息构建。 接口方法 QueryRawMessage.class public RawMessage buildTxRawMessage(String chainId, byte[] txHash) throws CryptoException 参数说明
查询区块详情 消息构建。 接口方法 QueryRawMessage.class public RawMessage buildBlockRawMessage(String chainId, long blockNum) throws CryptoException 参数说明 参数
查询交易执行结果 消息构建。 接口方法 QueryRawMessage.class public RawMessage buildTxRawMessage(String chainId, byte[] txHash) throws CryptoException 参数说明 参数 类型
组织加密 接口方法 func (client *GatewayClient) EncryptDataWithE2EE(consensusOrgID, encOrgID string, decOrgIDs []string, data string, options ...interface
批量添加资源标签 功能介绍 批量添加资源标签 URI POST /v2/{project_id}/{resource_type}/{instance_id}/tags/create 表1 路径参数 参数 是否必选 参数类型 描述 resource_type 是 String 资源类型
组织解密 接口方法 func (client *GatewayClient) DecryptDataWithE2EE(consensusOrgID, decOrgID string, txID string) (data string, err error) 参数说明 参数 类型