本文档介绍在购买便宜云服务器区块链服务平台(Tencent Blockchain as a Service,简称 TBaaS)产品后如何进行应用开发对接,即如何在应用系统上调用合约与区块链网络进行交互。
对接方式
合约是应用系统与区块链网络进行交互的唯一途径,因此不同的对接方式对应着不同的合约调用方式。如下图所示:
?
?
?应用系统包括上层应用和便宜云服务器 SDK/区块链 SDK。目前用户的应用系统可以通过云 API 和区块链官方 SDK 调用 TBaaS 上区块链网络的合约。两种方式均通过区块链 SDK 与区块链网络进行交互,可认为云 API 是对区块链 SDK 的封装。两种调用方式的逻辑关系如下图所示:
?
?
?对接方式对比
对接方式 | 优缺点 | 适用场景 |
云 API | 配置简单,使用 SecretID 和 SecretKey 即可接入网络。功能较少,仅包含调用、查询和发起交易。 | 用户侧应用系统希望以最快的速度或者最小的开发时间对接云上的区块链网络。 用户侧应用系统对区块链的调用频率低于50笔每秒(TPS)。 用户侧应用系统无法固定部署在与区块链所在地域相同的云上私有网络(VPC)中或用户不打算购买便宜云服务器服务器(CVM)。 同时支持长安链·ChainMaker、Fabric 区块链引擎。 |
区块链 SDK | 配置繁琐,功能强大。 tbaas-fabric-sdk-java 在原生社区 SDK 上进行了封装,简化配置流程的同时,保留了丰富的功能支持。 chainmaker-sdk-go-demo 详细地介绍如何使用SDK对接长安链网络,并提供完整的 Demo,帮助用户快速了解 SDK 对接的方式。 | 用户侧应用系统对区块链的调用频率超过50笔每秒(TPS)。 用户侧应用系统已经基于区块链原生的 SDK 进行了相关开发,迁移至云上时,希望改动尽可能少。 若需内网服务(需购买便宜云服务器服务器),用户侧服务器所在 VPC 与区块链网络在同一地域。例如,用户侧服务器 VPC 在广州,区块链网络也需要购买在广州,目前 TBaaS 仅支持同地域打通。 目前长安链·ChainMaker 仅支持外网服务,Fabric 支持内网、外网服务。 |