检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
// 从账本获取状态数据 Avalbytes, err := ctx.GetStub().GetState(A) if err != nil { return fmt.Errorf("Failed to get
效率。 基于区块链构建数据可信共享平台,促进多方数据可信流动、打破数据孤岛,发挥数据价值。 基于区块链、TEE(Trusted Execution Environment)技术和联邦学习等技术构建数据不出域的安全计算能力,达到数据可用不可得,充分保障用户数据隐私。
概述 为了能在应用程序中使用区块链服务,可参考本章节完成应用程序的开发。 开发完成后,应用程序可以调用合约将业务数据发送到链上或从链上进行查询,以及查询区块链的块高、查看某个区块的详情和查看某笔交易的详情等。 父主题: 应用程序开发
示例Demo目录结构 文件 介绍 huaweichain Go语言客户端SDK,相关介绍请参考Go SDK介绍。 main.go Go语言客户端主程序。 contract.go 通过合约对业务数据交互。对数据有修改的操作如插入和删除,需要调用其中的send方法。对数据的查询操作如查询某个键的历史,需要调用其中的query方法。
/peer" ) type SimpleChaincode struct { } // 初始化数据状态,实例化/升级链代码时被自动调用 func (t *SimpleChaincode) Init(stub shim.ChaincodeStubInterface) pb.Response
更新区块链服务 Blockchain updateBlockchain 删除区块链 Blockchain deleteBlockchain 获取区块链SDK配置 Blockchain getBlockchainSdkConfig 修改agent密码 Blockchain modifyAgentPassword
name表示隐私数据空间的名称,此处为“collectionPrivateDetails”。 在链代码中,若要将数据写入该隐私数据空间,需保证指定的隐私数据空间名称与此处定义一致,即: stub.PutPrivateData("collectionPrivateDetails", key
https://192.168.0.90:30603/v2/agent/apis/chaincode/instantiate { "chaincode_name" : "gochaincode2", "chaincode_version" : "1.0", "channel_name"
申请可验证凭证 功能介绍 申请可验证凭证。根据在服务中声明的必要字段,申请者需要提供相关数据。 调试 您可以在API Explorer中调试该接口,支持自动认证鉴权。API Explorer可以自动生成SDK代码示例,并提供SDK代码示例调试功能。 URI POST /v1/identity/apply-vc
交易时可以调用交易准备函数生成具有隐私保护的交易数据。 链代码端对应的逻辑过程是: 保存用户公钥与地址的映射关系。 验证初始余额的有效性并生成初始交易。 验证交易数据的有效性并生成交易结果。 链码端可以通过调用初始余额校验函数来验证初始余额的有效性。 调用交易校验函数来验证交易数据的有效性。 安装链代码。
您需要自行定义一个类,来继承ChaincodeBase。以下为继承时必须重写的方法: public class SimpleChaincodeSimple extends ChaincodeBase { @Override public Response init(ChaincodeStub
约文件contract.ts需自行开发)。 合约文件的安装请参考合约管理。 AssemblyScript语言类型合约不支持查询指定键的历史数据。 父主题: 示例Demo
引入必要的包 import ( "git.huawei.com/poissonsearch/wienerchain/contract/docker-container/contract-go/contractapi" ) // 声明合约的结构体 type example01
实例类型,HuaweiCloudChain,Besu data_management String 数据管理模式:云端管理(Cloud) chain_engine_version String 实例区块链引擎版本 orgs Array of InstanceOrg objects 实例组织信息 chains Array
) data_management 是 String 数据管理模式:云端管理(Cloud)、边缘管理(Edge) type 否 String HuaweiCloudChain,Besu ,默认为HuaweiCloudChain orgs 是 Array of CreateOrg objects
/v2/{project_id}/blockchains/{blockchain_id} 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 租户从IAM申请到的项目ID,一般为32位字符串 blockchain_id 是 String blockchainID 请求参数 表2
实例类型,HuaweiCloudChain,Besu data_management String 数据管理模式:云端管理(Cloud) chain_engine_version String 实例区块链引擎版本 orgs Array of InstanceOrg objects 实例组织信息 chains Array
合约结构 AssemblyScript语言合约主要包括index.ts和contract.ts两个文件,其中index.ts为开发智能合约文件(contract.ts)依赖的合约SDK,合约涉及的业务相关开发仅在contract.ts文件,智能合约文件contract.ts需要根据实际业务进行开发。
概述 用户的应用程序通过链代码与账本数据进行交互。应用程序开发可使用的语言比较广泛,如Golang、Solidity、Java、C++、Python、Node.js等。应用程序和链代码开发语言无强对应关系,只要应用程序能通过SDK来调用链代码即可。 Hyperledger Fab
同一个通道内可以通过隐私保护配置确保不同成员数据的隐私性。 例如A、B成员,经过隐私保护配置,指定A成员可以访问相关数据的权限,只有拥有指定权限的成员A能访问相关数据,没有权限的成员B,则无法访问相关的数据,保证在一个共享通道内数据的隐私性。 不同通道之间通过通道隔离实现数据隐私保护,可以理解为通道外的成员无法获取该通道内的区块信息。