BSN-DDC基础网络推出已经一年了,得到了行业应用方和广大开发者的高度认可。一年中BSN产品技术团队也在根据市场业务需求不断更新功能服务,我们将通过本系列文章为大家系统化介绍DDC网络的功能和使用,为感兴趣的朋友提供学习帮助。
01
BSN官方DDC
DDC网络上会部署很多BSN官方业务合约,方便所有开发者直接调用,例如BSN官方DDC,是指通过BSN联盟部署的官方DDC合约生成的官方DDC。BSN联盟为每条开放联盟链都推出一套功能一致但实现过程不尽相同的官方DDC合约,同一条链上的每个官方DDC都由这个官方DDC合约生成,且都由BSN联盟进行背书。
在所有DDC开放联盟链上的BSN官方DDC合约均在Github上开源。平台方可以自行下载查看,并可以参照官方DDC合约进行自己DDC合约的设计和开发。
1.BSN官方DDC合约功能设计说明
官方DDC合约从功能上可分为三部分:计费合约、权限合约和主合约。每部分从结构上都由代理合约、业务合约两部分组成。计费合约主要用以维护和管理每一项官方DDC业务所需要的业务费;权限合约以基于角色的权限管理模式对每一个链账户的权限进行存储和验证;主合约内主要对官方DDC业务进行了实现,支持ERC721标准和ERC1155标准,并增加BSN联盟可以根据监管部门要求冻结和解冻DDC的监管执行功能。以下为官方DDC合约内的主要功能:
编号 |
功能 |
说明 |
1 |
普通生成/元交易生成 |
生成DDC。注:中移链、武汉链、泰安链、文昌链支持元交易。 |
2 |
授权 |
DDC拥有者对DDC做授权操作 |
3 |
授权查询 |
DDC的拥有者查询DDC授权信息 |
4 |
普通转移/元交易转移 |
DDC拥有者、被授权者对DDC进行转移操作,另外1155支持批量转移。注:所有的转移操作需在同一个平台方下的链账户内进行;中移链、武汉链、泰安链、文昌链支持元交易。 |
5 |
普通销毁/元交易销毁 |
DDC的拥有者对DDC进行销毁操作。注:中移链、武汉链、泰安链、文昌链支持元交易。 |
6 |
获取DDC URI |
查询DDC所对应的URI |
7 |
查询拥有者 |
查询DDC当前的拥有者 |
8 |
查询数量 |
查询DDC数量 |
9 |
跨链 |
对官方DDC进行跨链。注:武汉链官方DDC合约内支持。 |
2.官方DDC合约调用
平台方有两种方式可以调用官方DDC合约:
直接调用
指平台方的业务系统直接调用官方DDC合约的过程。平台方可以通过官方DDC SDK对合约方法进行调用;也可以根据相应开放联盟链的网关接入说明自行实现链交易封装通过网关调用官方DDC合约方法。
通过业务合约调用
指平台方自行开发并部署DDC网络中的业务合约,并在其业务系统通过业务合约调用官方DDC合约的过程。平台方可以根据自己业务需求,将基于DDC的应用层业务处理在业务合约中进行扩展实现,向用户提供更加透明、去信任的基于DDC网络的区块链应用。
3.官方DDC元交易
官方DDC合约面向平台方提供了DDC生成、流转、销毁元交易的合约相关方法,这些元交易方法由平台方自己的链账户发起交易调用,将由终端用户的链账户私钥签名的交易提交到链上。元交易操作所需的官方DDC业务费和交易能量值都从发起交易的平台方链账户扣除。该模式下,平台方无需再为其终端用户的链账户充值业务费和能量值;同时,在官方DDC合约的元交易方法中会验证终端用户对交易的签名,在技术上严格保证该交易是经终端用户的链账户签名确认的交易。元交易的引入在提升平台方对其终端用户管理的同时,也在技术上保证上链交易的准确性和安全性。目前在中移链、泰安链、武汉链和文昌链上的官方DDC合约里,生成、转移、销毁方法支持元交易模式。具体使用说明请参考DDC SDK。
4.官方DDC业务费说明
调用官方DDC合约涉及到链交易能量值消耗费用和官方DDC业务费。
能量值消耗费
能量值消耗费由BSN联盟和链技术方共同定义,单位为“能量值”。根据交易处理过程中消耗的算力和存储资源,从发起交易的链账户内扣除相应的能量值。每条开放联盟链上官方DDC业务处理所需的交易费,转换成人民币约在每笔0.03-0.07元左右(每条链会有细微不同),实际金额随交易消耗的链上算力和资源量浮动。
官方DDC业务费
官方DDC业务费由BSN联盟定义和收取,单位为“元”。每条开放联盟链上部署的官方DDC合约的不同业务方法对应的业务费如下:
官方DDC生成,1元/笔(注意:通过ERC1155标准单笔生成多份,也为1元。)
官方DDC流转、销毁,0.3元/笔。
官方DDC向公有链的跨链,5元/笔(注意:不包括公有链上的Gas费用)
5.官方DDC查询
官方DDC门户提供DDC查询服务,通过门户顶部的入口进入。
进入查询页面后,可选择需要查询的开放联盟链(默认查询全部链),输入DDC的ID或者链账户地址,再输入验证码完成验证后即可进行查询。
点击列表中任意一条记录即进入该条DDC的详情页面,分为两部分:
【官方DDC详情】包括DDC ID、所属开放联盟链、类型、发行数量、创建时间、DDC URL、所属链账户地址及数量列表等信息;
【发送记录】记录了该DDC的所有的发行和流转交易信息;
单击列表中的条目可查看交易详情。
02
DDC/NFT元数据存储
元数据是描述DDC/NFT的详细属性信息的数据,可以是一个图片,一段视频或者一组结构数据。由于区块链网络的交易处理性能和存储瓶颈限制,大数据量的DDC/NFT元数据并不适合在链上处理和存储,往往需要利用其他不可篡改的链外存储解决方案来存储,并在DDC/NFT中包含指向该元数据的URI链接和元数据数字摘要。平台方在生成DDC/NFT时,可选择将其元数据存储在BSN区块链服务网络提供IPFS专有网络中,平台方也可以在自己的业务系统或基于第三方存储服务(如:AWS S3云存储)存储DDC/NFT元数据。
BSN IPFS专有网络是基于BSN各个虚拟数据中心部署的IPFS分布式文件存储私有网络,面向区块链应用提供IPFS原生服务接口的服务网关。具体接入请参考:
https://bsnbase.com/static/tmpFile/bzsc/developer/8-1.html
03
DDC保管箱
DDC保管箱是一个开源的私钥保管工具,旨在帮助用户安全保存、独立管理和便捷使用属于自己的私钥,也为平台开发者们提供了一个能够快速满足自身用户本地管理和使用私钥需求的工具。保管箱并不限于提供基于DDC的服务,任何需要通过私钥签名的功能场景均可被集成到保管箱中,例如无密码登录、身份授权等。根据用户需求不同,DDC保管箱将为以下三类用户提供支持:
最终用户:用户可在保管箱内生成私钥或者将已有私钥导入到DDC保管箱扩展应用中,保管箱将私钥安全的存储在用户本地。当遇到需要使用私钥的情况时,用户可通过与保管箱快捷方便的互动完成对于私钥的使用。
网站开发者:通过简单方便的方式快速将保管箱与自身网站业务进行集成,为网站用户提供例如无密码登录、自动唤醒保管箱进行签名等功能来提高用户友好性,避免用户自己保管私钥,却不会使用导致网站被迫需要托管用户私钥,从而造成互信成本大幅提高。
进阶开发者:保管箱的代码将完全开源,对于需求复杂的开发者们可引用开源代码任意搭建属于自己的私钥保管箱,也可以在保管箱定制开发与自己的应用进行集成。我们期待与您的深度交流与合作。
此版本“DDC保管箱”扩展应用将支持以下主要功能:
创建账户
导入、导出私钥
私钥签名
官方DDC查询
由于各个框架签名机制并不一致,此版本保管箱兼容武汉链、泰安链,后期会尽快兼容其余底层框架。
由于各浏览器扩展应用开发逻辑不同,此版本保管箱兼容Chrome浏览器和Edge浏览器,后期会尽快兼容其它浏览器。
DDC保管箱扩展应用可在Chrome Web Store和Microsoft Edge Extensions Home中搜索“DDC保管箱”下载并安装到Chrome浏览器或Edge浏览器。
DDC保管箱用户手册可在github中查阅,具体地址如下:
https://github.com/BSN-DDC/ddc-vault
对算力中心方来说,不论是自用还是服务终端开发者,请参考《算力中心开发者门户使用手册》来了解如何通过开发者门户和网关API来使用BSN官方DDC服务。
内容引用于《BSN-DDC基础网络帮助手册》,手册版本号:2.1.2,修订时间:2023-02
-END-