华为云用户手册

  • 请求参数 表1 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 是 String 用户 IAM -Token 表2 请求Body参数 参数 是否必选 参数类型 描述 domain_name 是 String 域名名称,只允许输入1个域名,且包括前缀和后缀。 取值范围:4~253个字符。 template_id 是 String 信息模板编号,长度为49个字符。 说明:选择的信息模板需要为已实名认证的信息模板。
  • 概述 域名注册(Domain Registration)是用户付费获取Internet上某一域名一段时间使用权的过程。华为云 域名注册服务 提供域名的注册、购买、实名认证以及管理功能。 华为云的域名注册服务与新网合作,因此通过华为云注册的域名其注册商为新网,由华为云提供域名管理服务。 要想在Internet上建立服务器发布信息,需要先注册相应的域名。在Internet中,域名和IP地址相互对应。用户可以在浏览器中输入域名,然后通过DNS获取域名与IP地址的对应关系,从而查找到相应的服务器,打开网页。域名注册是在Internet上建立服务的基础。 域名注册遵循“先申请先注册”的原则,每一个域名都是独一无二、不可重复的。如果您想在Internet上拥有服务器并发布信息,建议尽早注册域名。 您可以使用本文档提供API对域名进行相关操作,如注册、续费、过户等。支持的全部操作请参见2 API概览。 在调用域名注册API之前,请确保已经充分了解域名注册相关概念,详细信息请参见产品介绍。 父主题: 使用前必读
  • 请求参数 表1 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 是 String 用户IAM-Token 表2 请求Body参数 参数 是否必选 参数类型 描述 domain_name 是 String 域名名称,只允许输入1个域名,且包括前缀和后缀。 取值范围:4~253个字符。 template_id 是 String 信息模板编号,长度为49个字符。 duration 是 Integer 购买周期,单位为年。 取值范围:1~10。
  • URI GET /v2/templates 表1 Query参数 参数 是否必选 参数类型 描述 limit 否 Integer 每页数量。 取值范围:1~200 默认值为10。 offset 否 Integer 分页偏移量。 取值范围:0~1000000 默认值为0。 audit_status 否 String 信息模板实名状态。 取值范围: NONAUDIT:未实名认证 SUCCEED:已实名认证 FAILED:实名认证失败 AUDITING:实名认证审核中 register_cn 否 String 域名所有者中文名,长度不超过64字符。
  • 响应参数 状态码: 200 表3 响应Body参数 参数 参数类型 描述 total String 信息模板总数量 templates Array of 表4 objects 信息模板列表 表4 Template 参数 参数类型 描述 id String 信息模板编号 register_cn String 域名所有者中文名称 type String 信息模板类型。 取值范围: PERSONAL:个人 COMPANY:企业 status String 信息模板实名状态。 取值范围: NONAUDIT:未实名认证 SUCCEED:已实名认证 FAILED:实名认证失败 AUDITING:实名认证审核中
  • 响应示例 状态码: 200 请求成功 { "templates": [ { "id": "b46929f9-0aea-47f6-ae28-30e81e6cd36f1638002050637", "type": "PERSON", "status": "NONAUDIT", "register_cn": "预置域名1638002050601" } ], "total": 154}
  • 请求参数 表1 请求Body参数 参数 是否必选 参数类型 描述 domain_name 是 String 域名名称,只允许输入1个域名,且包括前缀和后缀。 取值范围:4~253个字符。 nameservers 是 Array of 表2 objects DNS列表,最小输入2个DNS,最大输入6个DNS。 表2 NameServer 参数 是否必选 参数类型 描述 name 是 String DNS名称,总长度不超过254个字符。
  • 请求示例 在华为云修改一个域名的DNS PUT https://{endpoint}/v2/domains/nameservers{ "domain_name": "202126602022.cn", "nameservers": [ { "name": "ns1.huaweicloud-dns.org" }, { "name": "ns1.huaweicloud-dns.net" }, { "name": "ns1.huaweicloud-dns.cn" }, { "name": "ns1.huaweicloud-dns.com" } ]}
  • 状态码 正常 表1 正常时的返回值 返回值 说明 200 OK 201 Created 202 Accepted 204 No Content 异常 表2 异常时的返回值 返回值 说明 400 Bad Request 401 Unauthorized 403 Forbidden 404 Not Found 405 Method Not Allowed 409 Conflict 413 Request Entity Too Large 415 Unsupported Media Type 500 Internal Server Error 501 Not Implemented 503 Service Unavailable 父主题: 附录
  • 请求参数 表1 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 是 String 用户IAM-Token 表2 请求Body参数 参数 是否必选 参数类型 描述 template_id 是 String 信息模板编号,长度为49个字符 credential_type 是 String 证件类型。 取值范围: SFZ:身份证 HZ:护照 TXZ:港澳居民来往内地通行证 TWSFZ:台湾居民来往大陆通行证 GWSFZ:外国人永久居留身份证 ORG:组织机构代码证 YYZZ:工商营业执照 TYDMZ:统一社会信用代码证书 MBDJZ:民办非企业单位登记证书 ZJDJZ:宗教活动场所登记证 STDJZ:社会团体法人登记证书 BDDH:部队代号 JDXKZ:军队单位对外有偿服务许可证 SYZS:事业单位法人证书 GWCZDJZ:外国企业常驻代表机构登记证 JJDJZ:基金会法人登记证书 LSXKZ:律师事务所执业许可证 GWZHDJZ:外国在华文化中心登记证 GWLYDJZ:外国政府旅游部门常驻代表机构批准登记证 SFXKZ:司法鉴定许可证 GWJGZJ:外国机构证件 SHFWJGZ:社会服务机构登记证书 MBXXXKZ:民办学校办学许可证 YLJGXKZ:医疗机构执业许可证 credential_id 是 String 证件号码。 取值范围:1~30个字符。 credential_file 是 File 证件图片文件,支持55KB–5MB的jpg、jpeg、bmp、png图片。 当前API请求的格式为Content-Type: multipart/form-data,用于指定请求的数据编码格式。
  • 请求示例 在华为云上传信息模板的实名认证材料 POST https://{endpoint}/v2/templates/actions/real-name-verification------WebKitFormBoundary6A9opzfLoAMATBoM Content-Disposition: form-data; name="credential_file"; filename="20210728-114159( WeLink PC).jpg" Content-Type: image/jpeg ------WebKitFormBoundary6A9opzfLoAMATBoM Content-Disposition: form-data; name="credential_type" YYZZ ------WebKitFormBoundary6A9opzfLoAMATBoM Content-Disposition: form-data; name="credential_id" 666666666666 ------WebKitFormBoundary6A9opzfLoAMATBoM Content-Disposition: form-data; name="template_id" e675dfe1-8387-40c4-9e48-6ec61a1b54ab1643234932772 ------WebKitFormBoundary6A9opzfLoAMATBoM--
  • 响应示例 { "total": 905, "domain_tasks": [ { "status": "SUC CES S", "job_id": "8abf6fb17e42e05a017e52a1bf811128", "job_type": "REGISTER_JOB", "begin_time": 1642063839104, "end_time": 1642063845625, "error_code": null } ]}
  • 响应参数 状态码: 200 表3 响应Body参数 参数 参数类型 描述 total Integer 任务总数 domain_tasks Array of 表4 objects 任务列表 表4 DomainTask 参数 参数类型 描述 job_id String 任务编号 job_type String 任务类型。 取值范围: REGISTER_JOB:注册类型 RENEW_JOB:续费类型 status String 任务状态。 取值范围: PENDING:等待执行 RUNNING:执行中 SUCCESS:任务执行成功 FAILED:任务执行失败 begin_time String 开始时间,时间戳格式,eg:1642063839104 end_time String 结束时间,时间戳格式,eg:1642063845625 error_code String Job执行失败时的错误原因。 Job执行成功后,该值为null。
  • 响应示例 { "domains": [ { "domain_name": "202201131503.top", "privacy_protection": false, "register_date": "2022-01-13", "expire_date": "2023-01-13", "status": "NONAUDIT", "reg_type": "PERSON", "audit_status": "NONAUDIT", "audit_fail_reason": null, "transfer_status": null, "order_id": " CS 2201131505AN5EI", "out_status": null, "auto_renew": "0" } ], "total": 1678}
  • 响应参数 状态码: 200 表3 响应Body参数 参数 参数类型 描述 domains Array of 表4 objects 域名集合 total Integer 总数量 表4 Domain 参数 参数类型 描述 domain_name String 域名名称 privacy_protection Boolean 隐私保护。 取值范围: true false register_date String 域名注册时间,eg:2023-01-10 expire_date String 域名到期时间,eg:2023-01-10 status String 域名状态。 取值范围: REGISTERING:域名注册中 REVIEW_FAILED:命名审核失败 REDEEM:赎回期 WAITDELETED:删除期 EXPIRE:已过期 TRANSFER_AUDITING:过户审核中 TRANSFER_FAILED:过户失败 NONAUDIT:未实名认证 SUCCEED:已实名认证 FAILED:实名认证失败 AUDITING:实名认证审核中 reg_type String 域名注册类型。 取值范围: PERSONAL:个人 COMPANY:企业 audit_status String 域名实名认证状态。 取值范围: NONAUDIT:未实名认证 SUCCEED:已实名认证 FAILED:实名认证失败 AUDITING:实名认证审核中 audit_fail_reason String 域名实名认证失败原因 transfer_audit_status String 域名过户实名认证状态。 取值范围: TRANSFER_AUDITING:过户审核中 TRANSFER_FAILED:过户失败 TRANSFER_SUCCEED:过户成功 null:为空代表没有操作过域名过户 order_id String 订单编号 out_status String 转出状态 auto_renew String 自动续费。 取值范围: 0:手工续费 1:自动续费
  • 请求示例 在华为云上传域名实名认证材料 POST https://{endpoint}/v2/domains/actions/real-name-verification------WebKitFormBoundary6A9opzfLoAMATBoM Content-Disposition: form-data; name="credential_file"; filename="20210728-114159(WeLinkPC).jpg" Content-Type: image/jpeg ------WebKitFormBoundary6A9opzfLoAMATBoM Content-Disposition: form-data; name="credential_type" YYZZ ------WebKitFormBoundary6A9opzfLoAMATBoM Content-Disposition: form-data; name="credential_id" 666666666666 ------WebKitFormBoundary6A9opzfLoAMATBoM Content-Disposition: form-data; name="domain_name" yuming0209-1.top ------WebKitFormBoundary6A9opzfLoAMATBoM Content-Disposition: form-data; name="register_cn" xxx公司 ------WebKitFormBoundary6A9opzfLoAMATBoM Content-Disposition: form-data; name="register_type" COMPANY ------WebKitFormBoundary6A9opzfLoAMATBoM--
  • 请求参数 表1 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 是 String 用户IAM-Token 表2 请求Body参数 参数 是否必选 参数类型 描述 domain_name 是 String 域名名称,只允许输入1个域名,且包括前缀和后缀。 取值范围:4~253个字符。 register_cn 是 String 域名所有者中文名称。 取值范围:1~64个字符。 register_type 是 String 域名所有者类型。 取值范围: COMPANY:企业 PERSON:个人 credential_id 是 String 证件号码。 取值范围:1~30个字符。 credential_type 是 String 证件类型。 取值范围: SFZ:身份证 HZ:护照 TXZ:港澳居民来往内地通行证 TWSFZ:台湾居民来往大陆通行证 GWSFZ:外国人永久居留身份证 ORG:组织机构代码证 YYZZ:工商营业执照 TYDMZ:统一社会信用代码证书 MBDJZ:民办非企业单位登记证书 ZJDJZ:宗教活动场所登记证 STDJZ:社会团体法人登记证书 BDDH:部队代号 JDXKZ:军队单位对外有偿服务许可证 SYZS:事业单位法人证书 GWCZDJZ:外国企业常驻代表机构登记证 JJDJZ:基金会法人登记证书 LSXKZ:律师事务所执业许可证 GWZHDJZ:外国在华文化中心登记证 GWLYDJZ:外国政府旅游部门常驻代表机构批准登记证 SFXKZ:司法鉴定许可证 GWJGZJ:外国机构证件 SHFWJGZ:社会服务机构登记证书 MBXXXKZ:民办学校办学许可证 YLJGXKZ:医疗机构执业许可证 credential_file 是 File 证件图片文件,支持55KB–5MB的jpg、jpeg、bmp、png图片。 当前API请求的格式为Content-Type: multipart/form-data,用于指定请求的数据编码格式。
  • 基本概念 帐号 用户注册华为云时的帐号,帐号对其所拥有的资源及云服务具有完全的访问权限,可以重置用户密码、分配用户权限等。由于帐号是付费主体,为了确保帐号安全,建议您不要直接使用帐号进行日常管理工作,而是创建用户并使用他们进行日常管理工作。 用户 由帐号在IAM中创建的用户,是云服务的使用人员,具有身份凭证(密码和访问密钥)。 在我的凭证下,您可以查看帐号ID和用户ID。通常在调用API的鉴权过程中,您需要用到帐号、用户和密码等信息。 区域(Region) 从地理位置和网络时延维度划分,同一个Region内共享弹性计算、块存储、对象存储、VPC网络、弹性公网IP、镜像等公共服务。Region分为通用Region和专属Region,通用Region指面向公共租户提供通用云服务的Region;专属Region指只承载同一类业务或只面向特定租户提供业务服务的专用Region。 详情请参见区域和可用区。 可用区(AZ,Availability Zone) 一个AZ是一个或多个物理数据中心的集合,有独立的风火水电,AZ内逻辑上再将计算、网络、存储等资源划分成多个集群。一个Region中的多个AZ间通过高速光纤相连,以满足用户跨AZ构建高可用性系统的需求。 项目 华为云的区域默认对应一个项目,这个项目由系统预置,用来隔离物理区域间的资源(计算资源、存储资源和网络资源),以默认项目为单位进行授权,用户可以访问您帐号中该区域的所有资源。如果您希望进行更加精细的权限控制,可以在区域默认的项目中创建子项目,并在子项目中购买资源,然后以子项目为单位进行授权,使得用户仅能访问特定子项目中资源,使得资源的权限控制更加精确。 图1 项目隔离模型 同样在我的凭证下,您可以查看项目ID。 企业项目 企业项目是项目的升级版,针对企业不同项目间资源的分组和管理,是逻辑隔离。企业项目中可以包含多个区域的资源,且项目中的资源可以迁入迁出。 关于企业项目ID的获取及企业项目特性的详细信息,请参见《企业管理服务用户指南》。 父主题: 使用前必读
  • 响应消息体 响应消息体通常以结构化格式返回,与响应消息头中Content-type对应,传递除响应消息头之外的内容。 对于获取用户Token接口,返回如下消息体。为篇幅起见,这里只展示部分内容。 { "token": { "expires_at": "2019-02-13T06:52:13.855000Z", "methods": [ "password" ], "catalog": [ { "endpoints": [ { "region_id": "cn-north-4", ...... 当接口调用出错时,会返回错误码及错误信息说明,错误响应的Body体格式如下所示。 { "message": "The format of message is error", "code": "AS.0001" } 其中,code表示错误码,message表示错误描述信息。
  • 请求消息头 附加请求头字段,如指定的URI和HTTP方法所要求的字段。例如定义消息体类型的请求头“Content-Type”,请求鉴权信息等。 如下公共消息头需要添加到请求中。 Content-Type:消息体的类型(格式),必选,默认取值为“application/json”,有其他取值时会在具体接口中专门说明。 X-Auth-Token:用户Token,可选,当使用Token方式认证时,必须填充该字段。用户Token也就是调用获取用户Token接口的响应值,该接口是唯一不需要认证的接口。 对于获取用户Token接口,由于不需要认证,所以只添加“Content-Type”即可,添加消息头后的请求如下所示。 POST https://iam.cn-north-4.myhuaweicloud.com/v3/auth/tokens Content-Type: application/json
  • 请求URI 请求URI由如下部分组成。 {URI-scheme} :// {Endpoint} / {resource-path} ? {query-string} 尽管请求URI包含在请求消息头中,但大多数语言或框架都要求您从请求消息中单独传递它,所以在此单独强调。 URI-scheme:表示用于传输请求的协议,当前所有API均采用HTTPS协议。 Endpoint:指定承载REST服务端点的服务器域名或IP,不同服务不同区域的Endpoint不同,您可以从地区和终端节点中获取。例如IAM服务在“华北-北京四 ”区域的Endpoint为“iam.cn-north-4.myhuaweicloud.com”。 resource-path:资源路径,也即API访问路径。从具体API的URI模块获取,例如“获取用户Token”API的resource-path为“/v3/auth/tokens”。 query-string:查询参数,是可选部分,并不是每个API都有查询参数。查询参数前面需要带一个“?”,形式为“参数名=参数取值”,例如“?limit=10”,表示查询不超过10条数据。 例如您需要获取IAM在“华北-北京四”区域的Token,则需使用“华北-北京四”区域的Endpoint(iam.cn-north-4.myhuaweicloud.com),并在获取用户Token的URI部分找到resource-path(/v3/auth/tokens),拼接起来如下所示。 https://iam.cn-north-4.myhuaweicloud.com/v3/auth/tokens 图1 URI示意图 为查看方便,在每个具体API的URI部分,只给出resource-path部分,并将请求方法写在一起。这是因为URI-scheme都是HTTPS,而Endpoint在同一个区域也相同,所以简洁起见将这两部分省略。
  • 请求方法 HTTP请求方法(也称为操作或动词),它告诉服务你正在请求什么类型的操作。 GET:请求服务器返回指定资源。 PUT:请求服务器更新指定资源。 POST:请求服务器新增资源或执行特殊操作。 DELETE:请求服务器删除指定资源,如删除对象等。 HEAD:请求服务器资源头部。 PATCH:请求服务器更新资源的部分内容。当资源不存在的时候,PATCH可能会去创建一个新的资源。 在获取用户Token的URI部分,您可以看到其请求方法为“POST”,则其请求为: POST https://iam.cn-north-4.myhuaweicloud.com/v3/auth/tokens
  • 请求消息体 请求消息体通常以结构化格式发出,与请求消息头中Content-type对应,传递除请求消息头之外的内容。若请求消息体中参数支持中文,则中文字符必须为UTF-8编码。 每个接口的请求消息体内容不同,也并不是每个接口都需要有请求消息体(或者说消息体为空),GET、DELETE操作类型的接口就不需要消息体,消息体具体内容需要根据具体接口而定。 对于获取用户Token接口,您可以从接口的请求部分看到所需的请求参数及参数说明。将消息体加入后的请求如下所示,加粗的斜体字段需要根据实际值填写,其中username为用户名,domainname为用户所属的帐号名称,********为用户登录密码,xxxxxxxxxx为project的名称,如cn-north-4,您可以从地区和终端节点中获取。 scope参数定义了Token的作用域,下面示例中获取的Token仅能访问project下的资源。您还可以设置Token作用域为某个帐号下所有资源或帐号的某个project下的资源,详细定义请参见获取用户Token。
  • Token认证 Token的有效期为24小时,需要使用一个Token鉴权时,可以先缓存起来,避免频繁调用。 使用Token前请确保Token离过期有足够的时间,防止调用API的过程中Token过期导致调用API失败。 Token在计算机系统中代表令牌(临时)的意思,拥有Token就代表拥有某种权限。Token认证就是在调用API的时候将Token加到请求消息头,从而通过身份认证,获得操作API的权限。 Token可通过调用获取用户Token接口获取,调用本服务API需要project级别的Token,即调用接口时,请求body中auth.scope的取值需要选择project,如下所示。 { "auth": { "identity": { "methods": [ "password" ], "password": { "user": { "name": "username", "password": "********", "domain": { "name": "domainname" } } } }, "scope": { "project": { "name": "xxxxxxxx" } } } } 获取Token 后,再调用其他接口时,您需要在请求消息头中添加“X-Auth-Token”,其值即为Token。例如Token值为“ABCDEFJ....”,则调用接口时将“X-Auth-Token: ABCDEFJ....”加到请求消息头即可,如下所示。 GET https://iam.cn-north-4.myhuaweicloud.com/v3/auth/projects Content-Type: application/json X-Auth-Token: ABCDEFJ.... 您还可以通过这个视频教程了解如何使用Token认证:https://bbs.huaweicloud.com/videos/101333 。
  • 响应参数 状态码: 200 表3 响应Body参数 参数 参数类型 描述 domain_name String 域名名称 expire_date String 域名到期时间,eg:2023-01-10 status String 域名服务状态 audit_status String 实名审核状态 audit_unpass_reason String 实名审核不通过原因 transfer_status String 过户状态 reg_type String 注册类型 privacy_protection String 是否开启隐私保护 name_server Array of String 域名服务器列表 contact Array of 表4 objects 联系人信息 order_id String 订单ID template_id String 当前关联的模板ID transfer_template_id String 过户的目标模板ID transfer_support_template Boolean 是否支持模板绑定 outState String 域名转出状态 OUTING:转出中 auto_renew_inner String 自动续费。 取值范围: 0:手工续费 1:自动续费 credential_type String 证件类型 credential_id String 证件号码 registrar String 域名所属注册商 表4 Contact 参数 参数类型 描述 email String 邮箱地址 register_cn String 域名所有者(中文) register_en String 域名所有者(英文) contact_name_cn String 联系人(中文) contact_name_en String 联系人(英文) phone_num String 联系电话 province_cn String 省份中文名 province_en String 省份英文名 city_cn String 城市中文名 city_en String 城市英文名 address_cn String 通讯地址(中文) address_en String 通讯地址(英文) zip_code String 邮编
  • 响应示例 { "domain_name":"xxx.top", "expire_date":"2024-04-19", "status":"serverHold", "audit_status":"AUDITING", "audit_unpass_reason":null, "transfer_status":null, "reg_type":"PERSON", "privacy_protection":false, "name_server":[ "ns11.xincache.com", "ns12.xincache.com" ], "contact":{ "email":"xx", "register_cn":"xx", "register_en":"xx", "contact_name_cn":"xx", "contact_name_en":"xx", "phone_num":"xx", "province_cn":"xx", "province_en":"xx", "city_cn":"xx", "city_en":"xx", "address_cn":"xx", "address_en":"xx", "zip_code":"xx" }, "order_id":"dajtyxxx", "template_id":"8abf6fb67fd55e18017fdxxxxxxx", "transfer_template_id":null, "transfer_support_template":true, "outState":null, "auto_renew_inner":null, "credential_type":null, "credential_id":null, "registrar":"XIN_NET"}
  • 操作步骤 登录 区块链 服务控制台。 进入“实例管理”,单击Hyperledger Fabric增强版的“购买”按钮。 在订购页面填写企业项目、区块链实例名称(demo)和资源初始密码,其余采用默认参数,具体参数请参见基于CCE集群。 快速入门示例中,建议区块链实例名称设置为demo,则下载的SDK配置文件中对应的yaml文件名称为“demo-channel-sdk-config.yaml”。 若需要自定义区块链实例名称,例如设置为bcs123,则下载的SDK配置文件中对应的yaml文件名称为“bcs123-channel-sdk-config.yaml”,配置应用时需将yaml文件名称改为“demo-channel-sdk-config.yaml”。详细请参见调用链代码。 配置完成后,根据界面提示,购买Hyperledger Fabric增强版实例。 请等待数分钟,安装页面提示安装成功,查看实例及组织状态变为“正常”后,表示Hyperledger Fabric增强版实例部署完成。
  • 安装合约 安装合约的前提:根据不同合约类型,准备对应的合约文件。可单击链接获取Go类型的合约示例[链接]。 在实例管理页面的华为云区块链引擎页签,单击实例名称,进入实例概览页面。 选择左侧导航栏中的“合约管理”,单击页面右上角的“安装合约”。 在安装界面输入“合约名称”、“版本号”,选择合约类型以及安装组织,背书策略,添加合约文件等,如下图。 表1 合约信息 参数 描述 合约名称 chaincode 版本号 1.0 合约类型 Go 合约文件 添加合约文件。 安装组织 系统默认。 背书策略 系统默认“下列任意组织背书”。 背书组织 系统默认。 合约扫描 合约类型选择Go,该功能才会显示,默认开启,请根据需要选择是否开启代码安全检查。 描述 自定义描述信息。 单击“安装”,安装成功后刷新页面,合约管理页面显示一条已安装成功的合约信息。 单击“操作”列的“下载扫描报告”查看合约扫描结果。(以下示例仅供参考,请以实际扫描结果为准。) 若安装合约时未勾选"合约扫描",则对应合约不会生成检查报告,且不支持下载扫描报告操作。 解压压缩包,打开里面的html文件查看扫描结果详情,扫描报告按照错误、警告、提示三种类型分类显示,其中“错误”级别的问题需要处理,否则会影响链代码的正常功能;“警告”级别的问题建议通过代码重构进行规避;“提示”级别的问题可以根据实际情况进行选择性的处理。 例如示例图中出现“警告”级别的问题,单击打开详细信息,提供问题的简要说明、错误示例代码、扫描详情、修改建议和示例代码供您参考。 您可以根据合约检查结果对代码进行修改后,重新进行合约的安装或者更新。 父主题: 华为云区块链引擎快速入门
  • 实例化链代码 链代码安装完成后,在链代码列表的“操作”列,单击“实例化”。 选择实例化通道、链代码版本、初始化函数、背书策略和背书组织等参数。 表2 链代码实例化配置 参数 示例 链代码名称 chaincodedemo 实例化通道 channel 链代码版本 1.0 初始化函数 init 链代码参数 - 背书策略 下列任意组织背书 背书组织列表 organization 隐私保护配置 否 单击“实例化”,稍等2~3分钟,完成链代码在当前通道上的实例化。
  • 安装链代码 在实例管理页面中的Hyperledger Fabric增强版页签,单击新创建的Hyperledger Fabric增强版实例的“区块链管理”,登录链代码管理页面。 在登录页面输入用户名、密码、验证码,单击“登录”。 用户名为admin,初始登录密码为您在部署区块链服务时设置的资源初始密码,详细操作请参见购买Hyperledger Fabric增强版。为了保证系统安全,建议定期修改密码。 在链代码管理页面,单击页面左上角的“安装链代码”。 在安装界面输入“链代码名称”、“链代码版本”,选择需要安装链代码的节点及链代码语言,添加链代码文件等。 表1 安装链代码参数说明 参数 说明 链代码名称 chaincodedemo 链代码版本 1.0 选择全部Peer节点 勾选 链代码语言 Golang 链代码文件 添加链代码文件。本示例使用存证链代码,链代码文件下载方法:登录区块链服务管理控制台,进入“应用案例”,下载“快速入门”中的Go语言示例链代码。 链代码描述 根据需要填写相关描述。 代码安全检查 链代码语言选择Golang,该功能才会显示。选择是否开启代码安全检查。 单击“安装”,完成链代码安装。 单击链代码名称前,展开链代码详细信息。 在“版本列表”页签,单击“操作”列的“下载检查报告”查看链代码检查结果。(以下示例仅供参考,请以实际扫描结果为准。) 若不开启代码安全检查,则不会生成检查报告,也不会显示“下载检查报告”按钮。 图1 下载检查报告 解压文件压缩包,打开里面的html文件查看扫描结果详情,扫描报告按照错误、警告、提示三种类型分类显示,其中“错误”级别的问题需要处理,否则会影响链代码的正常功能;“警告”级别的问题建议通过代码重构进行规避;“提示”级别的问题可以根据实际情况进行选择性的处理。 图2 扫描文件 例如示例图中出现“提示”级别的问题1次,单击打开详细信息,提供问题的简要说明、错误示例代码、扫描详情、修改建议和示例代码供您参考。 图3 扫描详情 您可以根据链代码检查结果对代码进行修改后,重新进行链代码的安装或者更新。
共100000条