云服务器内容精选

  • 问题现象 配置huaweicloudchainReadonly只读策略权限后,调用Hyperledger Fabric增强版接口报错,页面出现如下报错信息,提示权限不足,不影响用户使用华为云区块链引擎。 华为云区块链引擎操作权限不足,分为以下情况: “Policy doesn't allow bcs:huaweiCloudChain*:* to be performed. ”账号无权访问bcs:huaweiCloudChain*:*对应的接口。(以下截图仅供参考) “user role is invalid”账号角色配置不满足接口访问的权限要求。 “user role is invalid,user is not *.”账号缺少对应的角色,无权访问该接口。(以下截图仅供参考)
  • 解决方案 针对以上三种情况,请查看对应系统策略、系统角色以及细粒度权限依赖的权限,详细操作请参考权限管理进行对应的权限配置。 系统策略、系统角色的依赖项请参考表1。 表1 华为云区块链引擎权限 系统权限 权限描述 权限类别 依赖关系 BCS Administrator 区块链服务的所有执行权限。 系统角色 BSS Administrator、VPCEP Administrator、VPC Administrator BCS Huaweicloudchain FullAccess 华为云区块链引擎权限所有权限。 系统策略 BSS Administrator、VPCEP Administrator、VPC Administrator BCS Huaweicloudchain ReadOnlyAccess 华为云区块链引擎权限只读权限。 系统策略 VPCEP Administrator 系统策略、系统角色的支持项请参考表2。 表2 华为云区块链引擎常用操作与系统权限关系 操作项 BCS Administrator BCS Huaweicloudchain FullAccess BCS Huaweicloudchain ReadOnlyAccess 是否支持API 查询服务信息 √ √ √ √ 询价 √ √ √ √ 查询job详情 √ √ √ √ 查询job列表 √ √ √ √ 批量删除job √ √ x √ 购买实例 √ √ x √ 查询实例列表 √ √ √ √ 查询实例详情 √ √ √ √ 更新实例 √ √ x √ 购买组织 √ √ x √ 查询组织列表 √ √ √ √ 查询组织详情 √ √ √ √ 查询链详情 √ √ √ √ 查询区块列表 √ √ √ √ 查询区块详情 √ √ √ √ 查询区块交易列表 √ √ √ √ 查询交易详情 √ √ √ √ 查询区块、交易统计结果 √ √ √ √ 下载SDK配置 √ √ x √ 安装合约 √ √ x √ 查询合约详情 √ √ √ √ 查询合约列表 √ √ √ √ 获取合约扫描报告 √ √ x √ 创建终端节点 √ √ x √ 查询终端节点列表 √ √ √ √ 查询终端节点服务详情 √ √ √ √ 创建资源标签 √ √ x √ 删除资源标签 √ √ x √ 查询资源标签 √ √ √ √ 获取边缘增强版配置码 √ √ x x 下载边缘增强版物料 √ √ x x 下载边缘增强版软件包 √ √ x x 创建插件 √ √ x x 查询插件 √ √ √ x API接口的细粒度的权限依赖与明细请参考表3。 表3 华为云区块链引擎对应接口的权限依赖关系 接口 对应的API接口 授权项 依赖授权项 IAM项目 (Project) 企业项目 (Enterprise Project) 查询服务信息 GET /v2/{project_id}/huaweicloudchain/service-info bcs:huaweiCloudChainService:getInfo - √ 暂不支持 询价 POST /v2/{project_id}/huaweicloudchain/inquiry bcs:huaweiCloudChainInstance:inquire - √ 查询job详情 GET /v2/{project_id}/huaweicloudchain/jobs/{job_id} bcs:huaweiCloudChainJob:get - √ 查询job列表 GET /v2/{project_id}/huaweicloudchain/jobs bcs:huaweiCloudChainJob:list - √ 批量删除job DELETE /v2/{project_id}/huaweicloudchain/jobs bcs:huaweiCloudChainJob:delete - √ 购买实例 POST /v2/{project_id}/huaweicloudchain/instances bcs:huaweiCloudChainInstance:create bss:order:update √ 查询实例列表 GET /v2/{project_id}/huaweicloudchain/instances bcs:huaweiCloudChainInstance:list - √ 查询实例详情 GET /v2/{project_id}/huaweicloudchain/instances/{instance_id} bcs:huaweiCloudChainInstance:get - √ 更新实例 PUT /v2/{project_id}/huaweicloudchain/instances/{instance_id} bcs:huaweiCloudChainInstance:update - √ 购买组织 POST /v2/{project_id}/huaweicloudchain/instances/{instance_id}/organizations bcs:huaweiCloudChainOrganization:create bss:order:update √ 查询组织列表 GET /v2/{project_id}/huaweicloudchain/instances/{instance_id}/organizations bcs:huaweiCloudChainOrganization:list - √ 查询组织详情 GET /v2/{project_id}/huaweicloudchain/instances/{instance_id}/organization bcs:huaweiCloudChainOrganization:get - √ 查询链详情 GET /v2/{project_id}/huaweicloudchain/instances/{instance_id}/chain bcs:huaweiCloudChainChain:getChain - √ 查询区块列表 GET /v2/{project_id}/huaweicloudchain/instances/{instance_id}/chain/blocks bcs:huaweiCloudChainChain:listBlocks - √ 查询区块详情 GET /v2/{project_id}/huaweicloudchain/instances/{instance_id}/chain/blocks/{block_height} bcs:huaweiCloudChainChain:getBlock - √ 查询区块交易列表 GET /v2/{project_id}/huaweicloudchain/instances/{instance_id}/chain/transactions bcs:huaweiCloudChainChain:listTransactions - √ 查询交易详情 GET /v2/{project_id}/huaweicloudchain/instances/{instance_id}/chain/transactions/{transaction_id} bcs:huaweiCloudChainChain:getTransaction - √ 查询区块、 交易统计结果 GET /v2/{project_id}/huaweicloudchain/instances/{instance_id}/chain/trend bcs:huaweiCloudChainChain:getTrend - √ 下载SDK配置 POST /v2/{project_id}/huaweicloudchain/instances/{instance_id}/chain/sdk-config bcs:huaweiCloudChainChain:downloadSdkConfig 高性能通道模式:VPCEP Administrator √ 安装合约 POST /v2/{project_id}/huaweicloudchain/instances/{instance_id}/chain/contract bcs:huaweiCloudChainContract:install - √ 查询合约详情 GET /v2/{project_id}/huaweicloudchain/instances/{instance_id}/chain/contract bcs:huaweiCloudChainContract:get - √ 查询合约列表 GET /v2/{project_id}/huaweicloudchain/instances/{instance_id}/chain/contracts bcs:huaweiCloudChainContract:list - √ 获取合约扫描报告 GET /v2/{project_id}/huaweicloudchain/instances/{instance_id}/chain/contract/report bcs:huaweiCloudChainContract:downloadReport - √ 创建终端节点 POST /v2/{project_id}/huaweicloudchain/instances/{instance_id}/endpoints bcs:huaweiCloudChainEndpoint:create VPCEP Administrator、vpc:vpcs:list vpc:vpcs:get vpc:subnets:get √ 查询终端节点列表 GET /v2/{project_id}/huaweicloudchain/instances/{instance_id}/endpoints bcs:huaweiCloudChainEndpoint:list VPCEP Administrator √ 查询终端节点服务详情 GET /v2/{project_id}/huaweicloudchain/instances/{instance_id}/endpoint-service bcs:huaweiCloudChainEndpoint:get VPCEP Administrator √ 创建资源标签 POST /v2/{project_id}/{resource_type}/{instance_id}/tags/create bcs:huaweiCloudChainTag:create - √ 删除资源标签 DELETE /v2/{project_id}/{resource_type}/{instance_id}/tags/delete bcs:huaweiCloudChainTag:delete - √ 查询资源标签 GET /v2/{project_id}/{resource_type}/{instance_id}/tags bcs:huaweiCloudChainTag:get - √
  • 产品优势 超强隐私保护 利用可信执行环境TEE承担智能合约运行,安全级别高,结合远程证明,防止合约逻辑被恶意篡改,确保交易结果可信。数据保护根密钥在TEE内保存,防止数据被窃取并破解。隐私数据全程可信,满足金融级的可信。 高吞吐量交易 利用TEE可信执行环境执行共识核心逻辑,通过可信Raft TEE共识实现了单链吞吐量突破100,000 TPS。 大文件交易上链 结合区块链高性能和云的超高容量存储能力,支持图片、文件、视频等富媒体资源上链,方便应用构建差异化的区块链应用。
  • 产品规格差异 华为云区块链引擎服务提供专业版、企业版供您选择使用,每个版本均有不同的规格支持,详情请查看表1。 表1 各版本区别 功能 专业版 企业版 铂金版 适用场景类型 满足小规模商用 满足中等规模商用 满足大规模商用(大企业金融和数字政府等) 性能峰值(TPS) 不超过2000 TPS 不超过10000 TPS 不超过50000 TPS 共识策略 Raft 支持 支持 支持 功能和规模 最大组织个数 2 10 100 每个组织存储空间(GB) 500GB 2000GB 6000GB 富媒体存储带宽 1M/s 2M/s 5M/s 安全功能 ECDSA 支持 支持 支持 国密 不支持 支持 支持 高可用 容器高可靠 不支持 支持 支持 多AZ容灾 不支持 支持 支持 运维监控 合约日志 支持 支持 支持 容量监控 支持 支持 支持 服务支持 专属服务经理 不支持 不支持 支持 研发远程技术支持 不支持 不支持 支持 点对点故障处理客户现场支持 不支持 不支持 支持
  • 产品功能 华为云区块链引擎服务支持以下功能: 表1 功能说明 功能 说明 服务部署 您无需提前准备区块链系统需要的资源,可一键式完成购买资源与部署区块链网络。 共识策略 区块链网络中节点之间达成共识需要遵从的规则。默认为Raft(CFT)策略。 组织管理 区块链服务同时支持动态添加节点组织,操作方便。 合约管理 通过图形化界面可视化管理合约的全生命周期:合约开发、调试,合约安装、更新合约。 合约扫描 通过自动化分析工具,为智能合约应用商和开发者提供代码安全审计,借助广泛的联盟链合约漏洞检测内容和问题检测库,生成检查报告及时发现代码中的安全隐患并提供修复建议,力求从源头上确保智能合约安全。 富媒体存储 说明: 仅基于华为云资源部署的服务1.0.1.1及以上版本支持富媒体存储功能。使用富媒体存储功能进行文件上链,将消耗对应组织存储空间。 扩展传统区块链存储能力,提供易于使用的富媒体文件上链、下载功能。链上文件历史版本可追溯、操作记录可查询。 保证跨信任域文件共享、文件存证场景下的可信
  • HBS权限 默认情况下,新建的IAM用户没有任何权限,您需要将其加入用户组,并给用户组授予策略或角色,才能使得用户组中的用户获得对应的权限,这一过程称为授权。授权后,用户就可以基于被授予的权限对云服务进行操作。 HBS部署时通过物理区域划分,为项目级服务。授权时,“作用范围”需要选择“区域级项目”,然后在指定区域(如华北-北京4)对应的项目(cn-north-4)中设置相关权限,并且该权限仅对此项目生效;如果在“所有项目”中设置权限,则该权限在所有区域项目中都生效。访问HBS时,需要先切换至授权区域。 如下表所示,包括了HBS的所有系统权限。 表1 HBS系统权限 系统权限 权限描述 权限类别 依赖关系 BCS Administrator 区块链服务的所有执行权限。 系统角色 SWR Admin、CCE Administrator、VPC Administrator、SFS Administrator
  • 使用流程 华为云区块链引擎服务(Huawei Cloud Blockchain Service,简称HBS)提供服务部署、区块链管理、业务链管理等功能。以下为华为云区块链引擎服务使用全景图,希望对您的使用有所引导及帮助。 HBS本身不涉及用户敏感信息。使用HBS处理数据的目的、范围、处理方式、时限等请遵从当地适用的法律法规。HBS本身不建议传输和存储敏感数据,如果传输和存储敏感数据,请自行加密后再传输和存储。 图1 华为云区块链引擎使用流程 注册帐号 新用户请先注册完成实名认证,具体请参见帐号注册和帐号实名认证。 权限管理 创建用户并授权使用HBS。 服务部署 购买华为云区块链引擎服务。 服务管理 提供华为云区块链引擎管理功能,可实时查看华为云区块链引擎服务运行状况,并对华为云区块链引擎服务做相应的操作。 管理区块链 提供界面化合约管理功能,包括合约安装、更新合约。 下载配置文件 开发应用之前需要进行配置文件下载,配置文件中包含用户证书和SDK。 设置配额 支持查看服务的配额使用情况和扩大配额。
  • 安装合约 登录华为云区块链引擎服务管理控制台。 单击左侧导航栏中的“服务管理”,选择华为云区块链引擎页签。 请根据实际情况按如下方式进入合约管理页面。 基于华为云资源部署的华为云区块链引擎服务: 单击服务名称,进入服务概览页面。 选择左侧导航栏中的“合约管理”,单击页面右上角的“安装合约”。 在安装界面输入“合约名称”、“版本号”,详细参数配置请参考表1。 表1 合约信息 参数 描述 合约名称 合约名称,以小写字母开头,支持小写字母和数字,长度6-25位。 版本号 合约版本号。 合约类型 支持Go,Wasm两种类型。 说明: Wasm由AssemblyScript开发编译。 合约文件 添加合约文件。 安装组织 选择需要安装的组织。 背书策略 背书是指背书组织执行链码交易并返回一个提案响应给客户端应用的过程。背书策略则指明了需要通道中多少不同组织的成员根据指定智能合约执行和验证交易才能使一笔交易有效。因此,背书策略定义了必须“背书”(批准)提案执行的组织中的 Peer 节点。 选择“下列任意组织背书”:只要任意一个背书组织为交易背书,交易即为有效。 选择“下列全部组织背书”:只有所有背书组织为交易背书,交易才为有效。 背书组织 选择需要背书的组织。 合约扫描 合约类型选择Go,该功能才会显示开启,默认开启,请根据需要选择是否开启链代码安全检查。 描述 自定义描述信息。 图1 合约安装 单击“安装”,安装成功后刷新页面,合约管理页面显示一条已安装成功的合约信息。 单击“操作”列的“下载扫描报告”查看合约扫描结果。(以下示例仅供参考,请以实际扫描结果为准。) 若不开启代码安全检查,则不会生成检查报告,也不会显示“下载扫描报告”按钮。 解压压缩包,打开里面的html文件查看扫描结果详情,扫描报告按照错误、警告、提示三种类型分类显示,其中“错误”级别的问题需要处理,否则会影响链代码的正常功能;“警告”级别的问题建议通过代码重构进行规避;“提示”级别的问题可以根据实际情况进行选择性的处理。 例如示例图中出现“警告”级别的问题,单击打开详细信息,提供问题的简要说明、错误示例代码、扫描详情、修改建议和示例代码供您参考。 您可以根据合约检查结果对代码进行修改后,重新进行合约的安装或者更新。
  • 后续操作(可选) 已部署的服务,支持查看创建、删除等操作记录。左侧操作状态栏会展示已有操作记录的状态,操作状态类型包括:进行中、成功和失败。 图1 华为云区块链引擎操作记录 系统将保留最近三天的操作记录。 登录华为云区块链引擎服务管理控制台,单击左侧导航栏中的“服务管理”,选择华为云区块链引擎。 单击“操作记录”,查看各个资源的操作记录。 您可以按资源名称搜索操作记录,还可以在资源所在行进行“操作详情”及“删除”操作。
  • 部署华为云区块链引擎服务 完成环境准备工作后,可按照如下步骤购买并部署华为云区块链引擎服务。 登录华为云区块链引擎服务管理控制台,进入“服务管理”,在华为云区块链引擎页面单击“购买”。 已部署的服务,单击左侧导航栏中的“服务管理”,单击右侧的“操作记录”,查看操作记录并在服务右侧进行“操作详情”及“删除”操作。 根据界面提示,配置区块链基本信息,参数如表1所示。 表1 基本信息配置 参数 描述 示例 计费模式 华为云区块链引擎服务管理收费模式,支持包年/包月。 包年/包月 区域 区块链基础设施所在的区域,建议选择与业务应用系统相同的地域。 使用默认区域 区块链服务名称 支持英文字符、数字及中划线,不能以中划线开头,长度为4-24个字符。 说明: 目前区块链名称不支持修改,只能删除重新创建。 hbs-wh 管理模式 选择云端管理:使用华为云资源管理区块链数据。 云端管理 版本类型 HBS提供专业版、企业版和铂金版供您选择。 专业版 组织配置 支持增加组织成员数。 专业版支持最大成员组织数2个,企业版支持最大成员组织数10个,铂金版支持最大成员组织数100个。 - 高级设置 共识策略:区块链网络中节点之间达成共识需要遵从的规则。默认为Raft(CFT)策略。 安全机制:保证数据安全的加密算法,默认为ECDSA;支持国密算法。 - 购买时长 支持自定义购买服务的使用时间,最短1个月。 您可根据需要选择勾选自动续费,按月购买的自动续费周期为1个月,按年购买的自动续费周期为1年。 默认1个月 单击“立即创建”。 确认配置信息无误后,勾选协议和免责声明,并单击“提交”。 进入支付页面,确认订单费用无误后,单击“确认付款”,订单支付成功后,即可返回华为云区块链引擎服务控制台查看正在创建的服务。 服务创建大概需要18-25分钟,请耐心等待。服务创建成功后,查看服务状态变为“正常”后,表示华为云区块链引擎服务部署完成。
  • 示例流程 图1 为用户授予HBS权限流程 创建用户组并授权 在IAM控制台创建用户组,并授予华为云区块链引擎服务的操作权限“BCS Administrator”。 如果选择“BCS Administrator”,由于该权限有依赖,除了勾选BCS Administrator外,还需要同时勾选依赖的角色SWR Admin、CCE Administrator、VPC Administrator、SFS Administrator才能生效。 创建用户并加入用户组 在IAM控制台创建用户,并将其加入1中创建的用户组。 用户登录并验证权限 新创建的用户登录控制台,验证华为云区块链引擎服务的操作权限。
  • 操作步骤 登录华为云区块链引擎服务管理控制台。 单击左侧导航栏中的“服务管理”,选择华为云区块链引擎页签。 请根据实际情况按如下方式进入区块链浏览器页面。 基于华为云资源部署的华为云区块链引擎服务: 单击服务名称,进入服务概览页面。 选择左侧导航栏中的“区块链浏览器”。 在区块链浏览器页面,您可以查看以下多项数据。 表1 数据 数据项 说明 组织 所选区块链中,组织的数量。 合约 所选区块链中,已安装的合约数量。 区块 已产生的区块数量。 交易 已进行的交易数量。 区块列表 单击“区块列表”查看最近生成的区块的交易数量、数据哈希等详细信息。 交易列表 单击“交易列表”查看最近发生的交易的交易ID、创建者组织、创建时间等交易信息。 单击交易列表“操作”列的“查看详情”可查看本条交易的更多详细信息。 性能分析 通过曲线图查看性能数据走势,了解性能状况。 区块性能:选择“区块”页签,查看区块数量随时间的增加趋势,鼠标移动至曲线图上可查看各时间点区块数量的具体值。 交易性能:选择“交易”页签,查看交易数量随时间的增加趋势,鼠标移动至曲线图上可查看各时间点交易数量的具体值。 说明: 可在曲线图右上角选择时间粒度:小时、分钟。 组织交易数量统计 通过饼图统计展示各组织交易数量所占的百分比。 说明: 移动鼠标至饼图上可查看各组织交易具体数量及百分比数值。
  • 下载配置文件 HBS支持执行合约、查询合约等功能。开发应用之前您需要进行配置文件下载,配置文件中包含用户证书和SDK。 使用用户证书进行普通的交易和查询操作。 SDK基于该配置文件可以方便地访问区块链网络并完成事务处理,您可以免去手工配置的繁琐流程。 请妥善保管下载用户证书中的私钥,建议您对私钥进行加密存储。 登录华为云区块链引擎服务管理控制台。 单击左侧导航栏中的“服务管理”,选择华为云区块链引擎。 请根据实际情况按如下方式选择下载配置文件: 基于华为云资源部署的华为云区块链引擎服务:在服务卡片的右上角单击“下载配置文件”。 图1 下载配置文件 配置SDK参数信息如下表1。 表1 参数表 参数名称 说明 证书存放路径 用户在编译应用程序时,证书的最终存放路径。如果证书路径后期有变更,您需要手动修改SDK配置文件中所有证书相关路径。 组织 选择组织。 证书选择 用户证书 单击“下载”。 将下载的配置文件压缩包解压并放置在某应用目录中,使应用程序可访问,下载后解压出yaml文件备用。