id:BSN_2021
公众号:BSN研习社
2022年1月25日,区块链服务网络发展联盟(简称“BSN联盟”)上线推出了“BSN-DDC基础网络”并进入试商用阶段。同时,BSN-DDC官网门户(ddc.bsnbase.com)上线发布,供DDC/NFT业务方进行“平台方”的注册申请。BSN-DDC的推出,将为NFT技术在我国的落地提供基础设施能力支撑,并为其合规发展保驾护航。
BSN-DDC为什么具有如此大的作用?
为方便开发者全面深入了解BSN-DDC,BSN研习社推出BSN-DDC 基础网络关键知识点解读系列。分别从背景、平台方加入、接入DDC网络、DDC的生成和管理、基础网络跨链机制方面,全面深入介绍BSN-DDC。
本期是系列文章第三期,接入DDC网络。
1.支持 DDC 的开放联盟链
BSN 联盟将持续引入众多国内外主流的区块链底层框架,分别打造成以中国城市命名的开放联盟链(节点部署有权限控制,无法使用任何cryptocurrencies),并使其作为支撑 DDC 网络的区块链底层环境。以下是 DDC 网络上的开放联盟链信息:
文章图片
上述每个开放联盟链的具体特点和智能合约编写方式均与对应的底层技术基本一致,平台方也可以到相应的底层技术开源社区或官网进行了解和学习。
平台方根据自己的业务要求和技术储备,可自行选择一条或多条 DDC开放联盟链使用。所有 DDC 开放联盟链上的官方 DDC 合约均定义了相同的方法。
2. DDC 官方门户功能
除前文提到的业务开通功能外,官方门户还为平台方提供了应用项目管理、链账户管理、官方 DDC 查询、官方 DDC 业务费查询、能量值查询、资金账户交易流水查询等功能。因为 DDC 网络只服务于平台方,因此官方门户也就是平台方使用的管理门户。虽然很多操作可以在门户网站中手工进行,但强烈建议平台方应对门户网站的 OpenAPI 熟悉,尽量使用OpenAPI 进行相应操作。例如如果平台方有数千个链账户,生成链账户以及链账户的能量值充值就无法有效地通过人工操作完成。
2.1 项目管理
平台方可在官方门户为其开发的基于 DDC 开放联盟链的区块链应用建立项目,在项目中管理应用接入 DDC 网络的安全控制参数:项目 ID 和项目 Key。平台方的应用业务系统与 DDC 网络的开放联盟链网关通信时,网关将验证这些安全控制参数,并在验证通过后,将应用的交易请求转发到开放联盟链网络中。平台方可基于每个 DDC 开放联盟链创建不限数量的多个项目。项目设置的目的是让平台方可以有效对不同业务进行不同的DDC 网络接入控制。平台方完全可以选择所有业务只使用同一个项目 ID。
同时,平台方也可以通过官方门户 OpenAPI 进行项目的创建和管理(建议)。
2.1.1 创建项目
登录官方门户,在“项目管理”页面,点击【创建项目】按钮;
文章图片
自定义项目名称并选择开放联盟链框架,点击【完成创建】按钮。
文章图片
2.1.2 项目 Key
创建项目后默认只启用项目 ID,项目 Key 由平台方自主选择是否需要启用。如果启用,那么访问 DDC 网络的开放联盟链网关时必须要有项目 ID 和项目 Key。
【启用】
登录官方门户,在“项目管理”页面,查询找到待启用项目 Key的项目;
点击【操作】下拉框后再点击【启用项目 Key】;
文章图片
弹出确认框后点击【确认】按钮,便完成启用项目 Key。
文章图片
【更新】
登录官方门户,在“项目管理”页面,查询找到待更新项目 Key的项目;
点击【操作】下拉框后再点击【更新项目 Key】;
文章图片
弹出确认框后点击【确认】按钮,便完成更新项目 Key。
文章图片
【禁用】
登录官方门户,在“项目管理”页面,查询找到待禁用项目 Key的项目;
点击【操作】下拉框后再点击【禁用项目 Key】;
文章图片
弹出确认框后点击【确认】按钮,便完成禁用项目 Key。
文章图片
2.1.3 下载接入参数
接入参数指的是接入开放联盟链网关的参数,平台方下载接入参数后按开放联盟链网关接入说明,便可在业务系统直接对接网关。
登录官方门户,在“项目管理”页面进行项目查询;
点击【操作】下拉框后再点击【下载接入参数】。
文章图片
2.1.4 删除
登录官方门户,在“项目管理”页面进行项目查询;
点击【操作】下拉框后再点击【删除】;
文章图片
弹出确认框后点击【确认】按钮,便完成删除项目。
文章图片
2.2 管理链账户
平台方可在官方门户自主选择开放联盟链框架,自由创建链账户,并可对每一个链账户进行能量值和官方 DDC 业务费的充值操作,同时还可对任何链账户状态进行冻结和解冻操作。
因为平台方在任何一个项目内,在任何一个开放联盟链上开设的链账户数量没有限制,因此平台方可以根据自己的业务灵活设置链账户的管理,甚至可以为平台上几十万终端用户每人开设一个链账户,每个终端用户可以控制自己链账户的私钥,或由平台托管私钥(平台方自行实现)。当然,平台方也可以选择所有 DDC/NFT 全部生成到平台方唯一一个链账户内,完全根据平台方自己的业务需求和实现方法决定。DDC 网络致力于为平台方提供尽可能大的灵活性。
2.2.1 链账户的创建
由于开放联盟链的可公用性,有多种方式可以创建链账户,如:通过官方 DDC SDK 生成、通过链框架技术方提供的工具生成、通过第三方的钱包工具生成等。生成链账户后,平台方需在官方门户或通过官方门户OpenAPI 登记注册链账户,注册时需提交和验证业务凭证。只有注册后的链账户才能启用 DDC 网络业务功能。流程如下图所示:
文章图片
登录官方门户,在“链账户管理”->“链账户”页面,点击【创建】按钮;
文章图片
链账户的创建页面,选择 DDC 开放联盟链框架、定义链账户名称、选择该链账户是否使用官方 DDC(选择“否”则涉及不到官方DDC 类型)、选择官方 DDC 类型为平台方还是终端用户、选择创建方式、输入链账户相关信息、上传平台方的业务凭证;
文章图片
点击【创建】按钮,完成链账户的创建。
文章图片
如果会生成多个链账户,这里强烈建议平台方使用官方门户OpenAPI 进行操作。
2.2.2 链账户的充值
链账户是链上交易不可或缺的直接载体,每一个链账户都必须由所属平台方完成从门户资金账户到链账户的能量值以及官方 DDC 业务费充值(注意:链账户的能量值和官方 DDC 业务费是分开充值的),充值时需提交和验证业务凭证。平台方可在官方门户内查询具体的链账户余额并进行手动充值操作,也可以在自己的业务系统内,通过引用官方 DDC SDK或调用官方门户 OpenAPI 自动查询自己的资金账户余额,以及动态向任何链账户充值(强烈建议,如果涉及多个链账户)。
【能量值充值】
在 DDC 网络中执行任何合约时,都会从发起交易的链账户中扣减交易处理所需的能量值,所以为保证链账户在相应的链上发起的区块链交易能正常执行,平台方需为链账户进行能量值充值。
登录官方门户,在“链账户管理”->“链账户”页面,查询需充值的链账户;
点击【操作】下拉框后再点击【能量值充值】按钮;
文章图片
在弹出框内,选择(输入)充值金额,点击【确认】按钮完成充值。
文章图片
【官方 DDC 业务费充值】
调用官方 DDC 合约涉及到官方 DDC 业务费,所以为保证链账户在相应的链上正常调用官方 DDC 合约方法,平台方需为链账户进行官方 DDC业务费充值。
登录官方门户,在“链账户管理”->“链账户”页面,查询需充值的链账户;
点击【操作】下拉框后再点击【官方 DDC 业务费充值】按钮;
文章图片
在弹出框内,选择(输入)充值金额,点击【确认】按钮完成充值。
文章图片
2.2.3 链账户的冻结和解冻
链账户本身并没有状态,BSN-DDC 体系为了缔造完全可控、合法合规的基础网络,在官方 DDC 合约内对链账户增加了状态管理属性;同时在官方门户、门户 OpenAPI 以及 DDC SDK 里增加了对链账户的状态管理,让平台方可以对自己的终端用户的链账户进行冻结和解冻操作。
冻结和解冻仅应用于链账户是否可进行 BSN 官方 DDC 业务处理,并不会影响已发生的交易数据和被冻结链账户内的官方 DDC 业务费、能量值余额等,也不会影响该链账户调用平台方自定义合约。
【冻结】
登录官方门户,在“链账户管理”->“链账户”页面,查询需冻结的链账户;
点击【操作】下拉框后再点击【冻结官方 DDC】按钮。
文章图片
【解冻】
登录官方门户,在“链账户管理”->“链账户”页面,查询需解冻的链账户;
点击【操作】下拉框后再点击【启用】按钮。
文章图片
3.平台方系统接入 DDC 网络方式
官方门户给平台方提供了官方 DDC 数据的查询统计及管理的功能,而 DDC 网络的链上交易处理功能,平台方可通过以下两种方式接入。
3.1 直接调用 DDC 网络网关
DDC 网络的各个开放联盟链上智能合约的方法通过 DDC 网关开放给平台方,所以平台方可参考相应开放联盟链的网关接入说明调用 DDC 网关执行 DDC 智能合约(包括自行部署的合约)。为了避免出现开放联盟链的网络拥堵、执行效率低的情况,我们在 DDC 网关侧对每个平台方做了 100 笔/秒的交易限流控制(平台方的所有 DDC 网络项目共享使用该限流控制),以保证链上各应用方的交易处理处于相对平滑的状态。平台方可根据网关的限流策略,在其业务系统中根据实际业务需求自行实现与网关交易请求的削峰平谷机制。
需要强调的是,100 笔交易/秒的控制是 DDC 网络网关的控制。每条DDC 开放联盟链还有链本身的交易处理瓶颈。一般情况下,每条 DDC 开放联盟链的 TPS 数约在 1500-3000 范围内,如果交易量过大,开放联盟链的处理方式与公链一致,会进行交易排队。平台方应充分了解这些限制,并在自己的业务系统内做相应技术处理。
3.2 使用 DDC SDK 调用
每一条开放联盟链都有官方 DDC SDK,平台方可以在业务系统中,通过官方 DDC SDK 直接调用部署在 DDC 网络中的官方 DDC 合约方法。
详情参考官方 DDC SDK 说明。平台方可以在官方 DDC SDK 的基础上定制开发,以实现在业务系统调用其自定义的 DDC/NFT 合约。
4. 平台方部署智能合约
DDC 网络内的每个开放联盟链都有自己技术特色的底层技术,其智能合约的编程语言可能有不同的标准。平台方可根据应用业务的需要自行选择任何开放联盟链并根据相应标准编写智能合约,具体合约编写说明,请参见相应开放联盟链的在线文档。
智能合约在部署过程中,需要部署者支付一定数量的开放联盟链能量值,所以在部署合约之前,应提前生成链账户和对该链账户进行能量值充值(具体请参见链账户的创建和充值)。
【BSN-DDC 基础网络关键知识点(三)接入DDC网络】平台方可以自己编写业务合约、DDC/NFT 合约或直接使用官方 DDC合约。DDC 网络内的每个智能合约,都将受到 BSN 联盟的管理,对于违规操作的合约,根据国家法律监管要求 BSN 联盟将对其进行关停处理。
推荐阅读
- K.im|MegaUpload的Kim Dotcom展示了区块链文件共享平台K.im
- 百度|2021中国低/无代码平台投融资趋势报告( 融资规模近15亿,估值近70亿,马太效应将愈演愈烈...)
- java|为什么要使用开源软件()
- 游戏|元宇宙概念股狂欢(错过了互联网,还能错过元宇宙吗())
- BSN-DDC 基础网络关键知识点(二)
- 新科技-新机遇|5G与物联网技术趋势分析
- ES Bridge跨链桥服务升级,新增BSC跨链网络
- 区块链的分类
- java|用Compose实现手写春联效果