#如何开发一个DAPP-1#理解智能合约

这周开始我们考虑自己做一个DAPP产品,然后开始查阅相关资料,现在写下我们的学习成果。我们会在这里记录我们做这个产品的思考。

首先是我们对以太坊上的智能合约的一些理解:

1. 以太坊是一个已经在运行中的公链,代码公开且固定,所以以太坊上运行的逻辑也是固定的。智能合约是一个可以被自定义的回调函数。

2.智能合约在每次记账时被调用,智能合约没有自定义定时器,所以没有办法在指定时间执行。或者我们可以把每次记账间隔看成是固定计时器。

3.智能合约不能访问链外数据。通常我们要编写一个商用程序还是需要访问各种来源的数据,这时候需要预言机来提供数据源。预言机是一个数据交互网关,一边连着外部数据源,一边连着区块链。比如像Oraclize这样的预言机解决方案。

4.在以太坊上用智能合约开发的软件和BS模式类似,且不存在主动推送的问题。

5. 以太坊上的智能合约不存在死循环的风险,一旦GAS消耗完,智能合约就终止执行。

6.我们经常听到的ERC20、ERC721是智能合约编程规范, 或者可以看出一种基类。无论是继承还是重写,只要具备ERC20固定的这些接口和接口返回值,就可以看成是ERC20。

7.智能合约是函数,不存储任何数据,数据存储在区块链上。智能合约本身也是一种数据,所以也是存储在区块链上。

这些内容的学习对我们开发DAPP有什么用呢?通过上面的学习我们知道了以太坊不适合开发哪种类型的应用。

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

1. 开源

2. 内部货币

3. 去中心化共识

4. 没有中心失效点

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

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

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

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

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

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

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

PS:以太坊的标准可以查看这个页面:https://eips.ethereum.org/all

再PS:好久没有看技术方面的内容了,怀着忐忑的心情写下这个文章,如有不对欢迎留言指教,如果对DAPP有什么好的想法也欢迎和我们交流。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 160,999评论 4 368
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 68,102评论 1 302
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 110,709评论 0 250
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 44,439评论 0 217
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,846评论 3 294
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,881评论 1 224
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 32,062评论 2 317
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,783评论 0 205
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,517评论 1 248
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,762评论 2 253
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,241评论 1 264
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,568评论 3 260
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,236评论 3 241
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,145评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,941评论 0 201
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,965评论 2 283
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,802评论 2 275

推荐阅读更多精彩内容

  • 关键的部分前几章已经说完了。 最后说到的是设计人员的几种类型:按照自己是否使用程序和程序员是否有道德意识分为了4种...
    哇620阅读 148评论 0 0
  • 我是一个喜欢晴天,讨厌雨天,却偏好盛夏暴风雨前夕风云突变的南方姑娘。这么多年了,我发现小孩子不喜欢分离,大人们因为...
    congzong阅读 384评论 0 0
  • 2017.11.28.晴 今天中午过后,做完了家务,没有带着小妞妈午睡,而是想要出去外面洗头,小区门口新开了一家美...
    叮铛之眼阅读 148评论 0 0