自建链,研发部署太麻烦?没钱较少人成本高?一个超级链对外开放网络统统解决问题你的问题。在上期线上公开课中,工程师详尽讲解了“对外开放网络较慢上手秘籍”。本期超级链学院线上公开课教教你如何基于超级链对外开放网络较慢部署一款DApp。
明星讲师超哥主要环绕以下几点进行:1. 智能合约如何与业务融合,使业务变成DApp2. 链上智能合约与业务融合的例子3. 例子中智能合约扮演着的角色4. 怎么研发公益基金审批智能合约5. 如何用于递归器查找6. 智能合约总体功能图中的权限管理是什么7. 如何部署和调用DAppQ1:上期我们谈了如何部署一个智能合约,很多人会关心,智能合约如何跟自己的业务融合使业务变为一个DApp,超哥能给大家讲解下吗?好的,一般来说,DApp的核心在于业务逻辑和数据仍然托管地在一个中心化服务上,而是通过智能合约运营在区块链网络这样的去中心化操作系统上,从而确保了数据安全、可靠。在实际构建过程中,开发者大多使用智能合约+用户界面的形式构建DApp,用户界面可以是Web页面或移动应用于,构建用户交互接入。Q2:能用荐一个例子讲解下链上的智能合约如何和业务融合吗?嗯,最近新冠肺炎疫情让大家都十分揪心,大家在维护好自己的同时也都大力的为湖北贡献自己的爱心,例如捐款捐物等。现在有很多公益基金会拒绝接受捐助,对于捐赠者而言,自己的捐助否用在适合的地方是大家都关心的,而对于公益基金会,建构更加公开发表半透明的运行机制才能夺得大家的信任。
而区块链在创建信任上有天生优势,尤其是创建在更加具备公信力的对外开放网络上。因此,我们可以公益捐助为事例,讲解一个基金会利用对外开放网络智能合约建构的公益捐助审批DApp。这个样例中,主要构建捐献基金汇总、捐献资金来源和下落的逐项审批,并对于每个捐款者可以坎到自己的所有捐助记录,从而做有据可查、公开发表半透明。Q3:那在这个例子中,智能合约扮演着什么样的角色呢?智能合约是慈善基金审批的核心,负责管理存储所有捐献记录、开支记录,并获取对捐献记录、开支记录的查找以及基金会资金总额的查找,也就是说最核心的业务逻辑都通过智能合约构建,数据几乎存储在链上。
如上图右图的公益基金审批DApp,智能合约运营在超级链对外开放网络上,并对外提供数据查找和载入模块。数据载入模块主要还包括追加开支、追加捐助、数据初始化等,数据查找模块主要还包括查找所有开支和捐助明细,按照捐款人查找等。同时,载入模块必须展开权限掌控,只有基金会的管理账户才有权限载入数据,确保链上数据不被随便变更,而基金会每次对数据的改动都会记录在对外开放网络的账本上,因此确保了数据的公开发表半透明。
而创建在智能合约之上的用户交互层则非常简单,通过对外开放网络SDK,可以构建对智能合约采访的RESTful API,并通过Web或移动程序的方式展现出。Q4:那么下面应当是实际研发智能合约了,超哥跟大家详尽讲解下怎么研发这个公益基金审批智能合约吧。嗯,又到了令人快乐的编码环节。
智能合约研发首先是设计好合约模块和参数。前面我们早已具体了合约市场需求,因此在模块设计上也比较清楚,载入模块主要包括下面三个,构建数据初始化、追加捐献记录、追加开支记录功能: 读书模块主要还包括下面4个,分别获取基金会当前概览数据,按照捐款人查找,查找所有捐助明细,查找所有经费开支明细等:确认所有模块和参数后,我们开始设计数据结构。目前C++合约反对KV存储和Table存储模型,在本例中,我们搭配KV存储留存数据。为了便利迭代查找,我们给“所有捐助明细”、“所有开支明细”、“捐款人捐助列表”登录有所不同的Key后缀,便利通过合约SDK中的递归器展开迭代查找。
本文来源:leyu·乐鱼-www.zgzhusu.net