云服务器内容精选
-
安装AI原生应用引擎SDK 执行如下命令,快速安装。 pip install huawei_wiseagent_dev_sdk_python-{version}-py3-none-any.whl 若已经安装过最新版本SDK,可以忽略此步骤。 将${version}替换成实际所使用的SDK版本。 如果采用本地依赖的方式引入SDK,即手动将本地下载的SDK包引入到工程,还需要添加间接依赖:httpx、pydantic、jinja2。
-
SDK逻辑结构 SDK主要提供消息封装、发送模块及相应的配套组件。配套组件主要包含异常处理、配置文件解析、节点获取等功能接口。 消息封装 由于消息类型较多,因此按类型进行了分类封装。消息封装相关接口均在build这个包下面,包含了ContractRawMessage、QueryRawMessage这几种消息构造的封装类。 ContractRawMessage:包含交易背书、落盘两阶段消息的构建。 QueryRawMessage:包含所有查询相关接口的消息构建,目前支持交易详情查询、链状态查询、区块查询、合约信息查询等接口。 消息发送 同消息封装类接口,按类型进行了分类封装。消息发送相关接口均包含在action这个包下面,包含了ContractAction、QueryAction、EventAction这几种消息发送的封装类。 ContractAction:对应ContractRawMessage封装的消息的发送。 QueryAction:对应QueryRawMessage中封装的消息的发送。 EventAction:主要用于监听消息的最终状态,因为参数仅包含交易ID,消息封装的方法直接内置。同时所有的消息发送接口均提供同步和异步两种接口。 同步接口入参均为需要发送的消息,返回值为一个ListenableFuture对象,用于监听消息发送结果。 异步接口则传入需要发送消息的同时,还需要传入一个StreamObserver对象,用于异步获取消息发送结果。
-
基于SDK开发流程 初始化:创建SDK实例对象,然后进行初始化。可以通过以下两种方式进行初始化: 使用标准模板配置文件,调用 init 接口。 调用接口自定义设置属性,包括:msp设置、TLS设置、节点信息设置。 构造消息:由于消息类型较多,所以根据消息类型进行了消息类型进行封装,在构造消息之前,必须先获取消息类型对象,然后再基于获取对象中对应的方法封装消息。 获取节点:获取消息发送节点对象。 发送消息:所有的发送接口都封装在节点类中,发送消息时,先获取节点,再调用节点的消息发送对象获取方法。不同的消息对应不同的构建接口,同理,消息发送接口也根据接口类型进行了分装,在发送消息前,必须先获取接口类型对象,然后再基于获取对象中对应的方法发送消息。 结果解析:服务端返回的消息中,均包含交易最后执行结果的标志位,以此判断交易是否执行成功。若结果为不成功,则info字段还包含了错误原因,用于分析定位。 结果监听:对于业务交易和投票类型等需要落盘的交易,即使消息发送成功,后续落盘时还可能产生各种校验失败,导致交易无效。因此还需要监听交易是否最终落盘成功。
-
SDK说明 华为云 区块链 引擎目前提供Java、Golang两种语言SDK,区块链服务启动时会启动一系列grpc接口,监听客户端发送的消息,与客户端交互完成各种请求。在开发客户端时,如果从底层grpc接口开始,进行各种消息封装、消息发送、返回值解析等工作,不仅会导致开发量过大,并且造成重复劳动。 SDK则是将区块链服务提供的各种grpc接口进行封装,同时封装各接口所需类型的消息。在开发客户端时,只需要关注自己的业务逻辑,调用相应接口封装并发送消息即可,不需要关注底层消息发送接收的具体过程。 SDK中相关方法的使用示例,可参考应用程序开发对应语言的示例Demo。 SDK在不同环境下支持的实例安全机制如下: windows环境:ECDSA linux环境:国密算法、ECDSA
-
组织加密 接口方法 func (client *GatewayClient) EncryptDataWithE2EE(consensusOrgID, encOrgID string, decOrgIDs []string, data string, options ...interface{}) (txID string, err error) 参数说明 参数 类型 说明 consensusOrgID string 共识组织ID encOrgID string 执行加密操作的组织ID。 decOrgIDs []string 除了执行加密操作的组织ID以外,可以解密该消息的组织ID列表。 data string 需要加密的数据明文。 options interface{} 其他选项,目前支持输入一个bool类型,用于指定加密后,是否更新群组密钥。 返回值 参数 类型 说明 txID string 加密后返回密文对应的交易ID,解密时输入交易ID可以获得对应明文。 err error 加密成功返回nil,否则返回error。 父主题: Go SDK介绍
-
获取节点对象 根据节点名称,获取需要发送交易的节点对象。所有消息发送前,都必须调用该方法,获取发送节点对象,然后再获取对应的消息发送接口对象。 调用方法 public WienerChainNode getWienerChainNode(String name) throws InvalidParameterException 参数说明 参数 类型 说明 name String 节点名称。 返回值 类型 说明 WienerChainNode WienerChainNode对象。
-
获取节点对象 根据节点名称,获取需要发送交易的节点对象。所有消息发送前,都必须调用该方法,获取发送节点对象,然后再获取对应的消息发送接口对象。 调用方法 public WienerChainNode getWienerChainNode(String name) throws InvalidParameterException 参数说明 参数 类型 说明 name String 节点名称。 返回值 类型 说明 WienerChainNode WienerChainNode对象。
-
SDK说明 华为云区块链引擎目前提供Java、Golang两种语言SDK,区块链服务启动时会启动一系列grpc接口,监听客户端发送的消息,与客户端交互完成各种请求。在开发客户端时,如果从底层grpc接口开始,进行各种消息封装、消息发送、返回值解析等工作,不仅会导致开发量过大,并且造成重复劳动。 SDK则是将区块链服务提供的各种grpc接口进行封装,同时封装各接口所需类型的消息。在开发客户端时,只需要关注自己的业务逻辑,调用相应接口封装并发送消息即可,不需要关注底层消息发送接收的具体过程。 SDK中相关方法的使用示例,可参考应用程序开发对应语言的示例Demo。 SDK在不同环境下支持的实例安全机制如下: windows环境:ECDSA linux环境:国密算法、ECDSA
-
基于SDK开发流程 初始化:创建SDK实例对象,然后进行初始化。可以通过以下两种方式进行初始化: 使用标准模板配置文件,调用 init 接口。 调用接口自定义设置属性,包括:msp设置、TLS设置、节点信息设置。 构造消息:由于消息类型较多,所以根据消息类型进行了消息类型进行封装,在构造消息之前,必须先获取消息类型对象,然后再基于获取对象中对应的方法封装消息。 获取节点:获取消息发送节点对象。 发送消息:所有的发送接口都封装在节点类中,发送消息时,先获取节点,再调用节点的消息发送对象获取方法。不同的消息对应不同的构建接口,同理,消息发送接口也根据接口类型进行了分装,在发送消息前,必须先获取接口类型对象,然后再基于获取对象中对应的方法发送消息。 结果解析:服务端返回的消息中,均包含交易最后执行结果的标志位,以此判断交易是否执行成功。若结果为不成功,则info字段还包含了错误原因,用于分析定位。 结果监听:对于业务交易和投票类型等需要落盘的交易,即使消息发送成功,后续落盘时还可能产生各种校验失败,导致交易无效。因此还需要监听交易是否最终落盘成功。
-
SDK逻辑结构 SDK主要提供消息封装、发送模块及相应的配套组件。配套组件主要包含异常处理、配置文件解析、节点获取等功能接口。 消息封装 由于消息类型较多,因此按类型进行了分类封装。消息封装相关接口均在build这个包下面,包含了ContractRawMessage、QueryRawMessage这几种消息构造的封装类。 ContractRawMessage:包含交易背书、落盘两阶段消息的构建。 QueryRawMessage:包含所有查询相关接口的消息构建,目前支持交易详情查询、链状态查询、区块查询、合约信息查询等接口。 消息发送 同消息封装类接口,按类型进行了分类封装。消息发送相关接口均包含在action这个包下面,包含了ContractAction、QueryAction、EventAction这几种消息发送的封装类。 ContractAction:对应ContractRawMessage封装的消息的发送。 QueryAction:对应QueryRawMessage中封装的消息的发送。 EventAction:主要用于监听消息的最终状态,因为参数仅包含交易ID,消息封装的方法直接内置。同时所有的消息发送接口均提供同步和异步两种接口。 同步接口入参均为需要发送的消息,返回值为一个ListenableFuture对象,用于监听消息发送结果。 异步接口则传入需要发送消息的同时,还需要传入一个StreamObserver对象,用于异步获取消息发送结果。
-
利用合约发送交易 背书消息构建 接口函数 func (msg *ContractRawMessage) BuildInvokeMessage(chainID string, name string, function string, args []string) (*common.RawMessage, error) 参数说明 参数 类型 说明 chainID string 链ID。 name string 合约名称。 function string 调用合约中的方法名。 args []string 合约方法参数。 返回值 类型 说明 *common.RawMessage 背书请求需发送的消息。 error 发送成功返回类型为nil,反之返回error。 背书请求消息发送。 接口函数 func (action *ContractAction) Invoke(rawMsg *common.RawMessage) (*common.RawMessage, error) 参数说明 参数 类型 说明 rawMsg *common.RawMessage 上述背书请求需发送的消息。 返回值 类型 说明 *common.RawMessage 背书请求需发送的消息。 error 发送成功返回类型为nil,反之返回error。 交易消息构建。 接口方法 func (msg *ContractRawMessage) BuildTxRawMsg(rawMessages []*common.RawMessage) (*TxRawMsg, error) 参数说明 参数 类型 说明 rawMessages []*common.RawMessage 背书请求返回结果集合。 返回值 类型 说明 *TxRawMsg 包含交易hash的交易请求信息,该消息使用transaction接口发送。 error 构建成功返回类型为nil,反之返回error。 交易消息发送。 接口方法 func (action *ContractAction) Transaction(rawMsg *common.RawMessage) (*common.RawMessage, error) 参数说明 参数 类型 说明 rawMsg *common.RawMessage 上述生成的交易消息。 返回值 类型 说明 *common.RawMessage 用于获取包含发送结果的消息。 error 发送成功返回类型为nil,反之返回error。 父主题: Go SDK介绍
更多精彩内容
CDN加速
GaussDB
文字转换成语音
免费的服务器
如何创建网站
域名网站购买
私有云桌面
云主机哪个好
域名怎么备案
手机云电脑
SSL证书申请
云点播服务器
免费OCR是什么
电脑云桌面
域名备案怎么弄
语音转文字
文字图片识别
云桌面是什么
网址安全检测
网站建设搭建
国外CDN加速
SSL免费证书申请
短信批量发送
图片OCR识别
云数据库MySQL
个人域名购买
录音转文字
扫描图片识别文字
OCR图片识别
行驶证识别
虚拟电话号码
电话呼叫中心软件
怎么制作一个网站
Email注册网站
华为VNC
图像文字识别
企业网站制作
个人网站搭建
华为云计算
免费租用云托管
云桌面云服务器
ocr文字识别免费版
HTTPS证书申请
图片文字识别转换
国外域名注册商
使用免费虚拟主机
云电脑主机多少钱
鲲鹏云手机
短信验证码平台
OCR图片文字识别
SSL证书是什么
申请企业邮箱步骤
免费的企业用邮箱
云免流搭建教程
域名价格