# 接口概述及基本流程

腾讯区块链主要包括baas和trustsql两部分,baas主要提供商户注册、链、节点信息查询、以及一些链的操作,商户注册成功之后,通过baas可以获取到机构id、链信息等,这些信息是后续接口服务的必要信息。trustsql是腾讯区块链的底层服务,主要提供交易的插入、交易的查询等操作,用户可以直接针对这一层进行开发,但是难度也会相对增加很多。为了更好的让用户快速的接入腾讯区块链,对trustsql提供了上层接口封装,主要有两种,即数字资产服务、共享信息服务,这两种服务提供rest风格的接口,可以很方便的接入。数字资产服务、共享信息服务、以及trustsql服务都是去中心化的,以镜像的形式部署到节点上,并有操作权限的控制,用户可以根据自己的需要关闭和打开接口。

为了减少用户接入的成本,针对市场上主流的开发语言,我们提供了java、c++的sdk,sdk主要用于进行签名、验签、生成公私钥、根据公私钥生成地址,以及一些demo,具体见sdk章节

数字资产服务的基本流程(以资产发行为例):

  1. 用户在baas平台进行注册,baas的网址为 https://baas.qq.com/web/baas/app.shtml#/login ,注册成功之后获取到机构id。

  2. 在baas界面上传机构公钥,公钥用于验签,与之对应的私钥用于通讯方加密,私钥建议自己保存,baas也提供私钥托管服务。

  3. 新建联盟链,涉及到与腾讯云关联、购买机器、录入节点信息、启动联盟链,成功之后获取到链id。

  4. 数字资产发行申请,调用http://{node_ip:node_port}/asset_issue_apply,其中node_ip,为节点的外网ip(如果业务的服务是内网则为内网ip),node_port为固定的15910,以post的方式发送参数,其中1、3两步获取的机构id和链id为必填。

  5. 数字资产发行提交,调用http://{node_ip:node_port}/asset_issue_submit,其中node_ip,为节点的外网ip(如果业务的服务是内网则为内网ip),node_port为固定的15910,以post的方式发送参数,其中1、3两步获取的机构id和链id为必填。

提示:数字资产发行申请和数字资产发行提交要在同一个节点上完成

共享信息服务的基本流程(以共享信息新增为例):

  1. 用户在baas平台进行注册,baas的网址为 https://baas.qq.com/web/baas/app.shtml#/login ,注册成功之后获取到机构id。

  2. 在baas界面上传机构公钥,公钥用于验签,与之对应的私钥用于通讯方加密,私钥建议自己保存,baas也提供私钥托管服务。

  3. 新建联盟链,涉及到与腾讯云关联、购买机器、录入节点信息、启动联盟链,成功之后获取到链id。

  4. 共享信息申请,调用http://{node_ip:node_port}/Iss_Append,其中node_ip,为节点的外网ip(如果业务的服务是内网则为内网ip),node_port为固定的15903,以post的方式发送参数,其中1、3两步获取的机构id和链id为必填。

  5. 共享信息提交,调用http://{node_ip:node_port}/Iss_Append,其中node_ip,为节点的外网ip(如果业务的服务是内网则为内网ip),node_port为固定的15903,以post的方式发送参数,其中1、3两步获取的机构id和链id为必填。

提示:共享信息的两步是一个接口,具体参考共享信息接口文档的sign字段说明,且两步要在同一个节点上完成。