云服务器内容精选

  • 基于SDK开发流程 基于SDK开发客户端需要进行以下步骤。 初始化 创建SDK实例对象,然后进行初始化。 构造消息 由于消息类型较多,所以根据消息类型进行封装,在构造消息之前,必须先获取消息类型对象,然后再基于获取对象中对应的方法封装消息。 获取节点 获取消息发送节点对象。 发送消息 所有的发送接口都封装在节点类中,发送消息时,先获取节点,再调用节点的消息发送对象获取方法。不同的消息对应不同的构建接口,同理,消息发送接口也根据接口类型进行了分装,在发送消息前,必须先获取接口类型对象,然后再基于获取对象中对应的方法发送消息。 结果解析 服务端返回的消息中,均包含交易最后执行结果的标志位,以此判断交易是否执行成功。若结果为不成功,则返回错误原因,用于分析定位。 结果监听 对于业务交易和投票类型等需要落盘的交易,即使消息发送成功,后续落盘时还可能产生各种校验失败,导致交易无效。因此还需要监听交易是否最终落盘成功。
  • SDK逻辑结构 SDK主要提供消息封装、发送模块及相应的配套组件。配套组件主要包含异常处理、配置文件解析、节点获取等功能接口。 消息封装 由于消息类型较多,因此按类型进行了分类封装。消息封装相关接口均在build这个包下面,包含了ContractRawMessage、QueryRawMessage这几种消息构造的封装类。 ContractRawMessage:包含交易背书、落盘两阶段消息的构建。 QueryRawMessage:包含所有查询相关接口的消息构建,目前支持交易详情查询、链状态查询、区块查询、合约信息查询等接口。 消息发送 同消息封装类接口,按类型进行了分类封装。消息发送相关接口均包含在action这个包下面,包含了ContractAction、QueryAction、EventAction这几种消息发送的封装类。 ContractAction:对应ContractRawMessage封装的消息的发送。 QueryAction:对应QueryRawMessage中封装的消息的发送。 EventAction:主要用于监听消息的最终状态,因为参数仅包含交易ID,消息封装的方法直接内置。同时所有的消息发送接口均提供同步和异步两种接口。 同步接口入参均为需要发送的消息,返回值为一个ListenableFuture对象,用于监听消息发送结果。 异步接口则传入需要发送消息的同时,还需要传入一个StreamObserver对象,用于异步获取消息发送结果。
  • SDK说明 华为链目前提供Java、Golang两种语言SDK, 区块链 服务启动时会启动一系列grpc接口,监听客户端发送的消息,与客户端交互完成各种请求。在开发客户端时,如果从底层grpc接口开始,进行各种消息封装、消息发送、返回值解析等工作,不仅会导致开发量过大,并且造成重复劳动。SDK则是将区块链服务提供的各种grpc接口进行封装,同时封装各接口所需类型的消息。在开发客户端时,只需要关注自己的业务逻辑,调用相应接口封装并发送消息即可,不需要关注底层消息发送接收的具体过程。 1. SDK中相关方法的使用示例,可参考应用程序开发对应语言的示例Demo。 2. SDK在不同环境下支持的实例安全机制如下: windows环境:ECDSA linux环境:国密算法、ECDSA
  • 获取节点对象 根据节点名称,获取需要发送交易的节点对象。所有消息发送前,都必须调用该方法,获取发送节点对象,然后再获取对应的消息发送接口对象。 调用方法 public WienerChainNode getWienerChainNode(String name) throws InvalidParameterException 参数说明 参数 类型 说明 name String 节点名称。 返回值 类型 说明 WienerChainNode WienerChainNode对象。
  • SDK配置 linux环境,Go SDK的编译、运行,需要手动下载并配置openssl(openssl下载链接) 解压openssl,拷贝openssl文件夹到目录/usr/local/include/下 执行库的导入命令:export LD_LIBRARY_PATH=/usr/local/include/openssl SDK版本号 下载链接 2.1.0.6.41 下载SDK 父主题: Go SDK介绍