公众号
关注微信公众号
移动端
创头条企服版APP

开发DAPP智能合约系统需要哪几点?以太坊智能合约系统开发

3006


我们来看一下DAPP应该具备什么样的条件(来自于Oreilly《去中心化应用》):

1. 开源

2. 内部货币

3. 去中心化共识

4. 没有中心失效点

如果一个DAPP的逻辑是通过区块链上的智能合约实现的,那么1、3、4就实现了。因为能被区块链执行的智能合约一定是开源的且不可修改的,且逻辑是被所有参与者认可的。而且只要只要有一台矿机还在运行,这个程序就能一直跑下去。至于内部货币这个事情,如果是运行在以太坊的智能合约,一定需要ETH才能使系统运行,因此内部货币也一定存在。

如果我们用以太坊和智能合约来开发一个DAPP,那么应该顺着这个思路往下走。

我们的DAPP是BS还是CS,如果是CS模式即需要服务端主动推送消息的,以太坊不大适合这个模型,因为无论是DAPP如何频繁去取数据,也只能等每次记账时执行。

后端的数据如何存储问题,如果数据很大,应该考虑存储到IPFS这种区块链上,如果很小可以存在以太坊上。

数据来源的问题,如果有外部数据来源,需要选择一个预言机,或者自己实现一个。简单的话就是自己搭个全节点,通过RPC调用把外部数据送到链上。

前端展示不是什么问题,JS可以直接调用智能合约,返回什么显示什么即可。

以太坊不适合开发交互很频繁的程序,更像早期互联网,开发一些并发量不大的信息展示页面。

怎样实现智能合约?

  实现智能合约就需要“图灵完备”的计算机编程语言。“图灵完备”这个词大家似乎了解的不多,可以简单地理解为能把世间一切可以计算解决的问题都计算出来的,这样的一种虚拟机或者编程语言就叫图灵完备。

  举一个例子说明一下:比如两口做饭的锅,一口锅可以实现一切的烹饪方法煎、炒、蒸、炖、炸、汆、涮、卤等,而另外的一口锅则只能实现蒸和炖,其他的都不能实现,那么前者就是图灵完备的,后者则不是。

  智能合约之所以可以在以太坊上完美应用,就是因为以太坊在其区块链上提供了一种近乎图灵完备的计算环境。只要是编程语言能够实现的计算,其都能支持,这也为智能合约在更加广泛的环境中得以应用坚实了基础。

  DAPP开发只需要掌握以下三种能力就可以了。

  第一,能够正确理解区块链。理解区块链的本质、特点和商业价值,了解分布式、共识机制、密码学、P2P网络的基本概念,对区块链的商业价值和应用场景有一定的认知。

  第二,至少熟悉一种开发语言。比如Javascript、C++、Go、Python等。

  第三,至少熟悉一种区块链的智能合约开发。比如以太坊、超级账本、EOS等。


声明:该文章版权归原作者所有,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。如涉及作品内容、版权和其它问题,请在30日内与本网联系。
您阅读这篇文章花了0
转发这篇文章只需要1秒钟
喜欢这篇 0
评论一下 0
评论
试试以这些内容开始评论吧
登录后发表评论
阿里云创新中心
×
#热门搜索#
精选双创服务
历史搜索 清空

Tel:18514777506

关注微信公众号

创头条企服版APP