智能合约与以太坊(二)

稿件由路可比特整理自《区块链生存训练》

去中心化应用(DApp)

DApp是去中心化应用(Decentralized application)的缩写。现在各种常见的网络程序的后台都有一台或多台的中心服务器,比如微信App,在它的后台有腾讯公司的多台服务器提供数据和其它服务,当腾讯公司的机房发生严重故障时,微信APP肯定会受到影响。

而DApp程序运行于去中心化的点对点网络环境下,在比特币和区块链没出现的时候,这种DApp程序已经出现了,比如我们熟悉的BT下载程序(BitTorrent),你给它一个下载的种子文件,它会自动寻找网络上的其它节点,如果在线的BitTorrent程序越多,你的下载速度也就越快。那个时候的DApp与数字货币没有关系。

随着区块链和智能合约的出现,现在DApp与数字货币、交易发生了密切关联,产生了更广阔的应用前景,我们的全节点钱包软件实际上就是一款DApp,它没有中心服务器,只要网络不断,谁也杀不死它。类似的软件还有Popcorn Time,BitMessage,Tor和Maidsafe等。

19-1去中心化应用Popcorn Time

Popcorn Time是款相当邪恶的软件,有了它,各种最新的电影、剧集可以边下载边观看。

Bitmessage是一个去中心化的通讯软件,他能允许你在匿名的情况下传输任何信息给接收者或者从一个发布者那里订阅信息。这一切都是建立在P2P网络上的,也就说没有一个中心服务器可以控制和窥探使用者的行为。

Maidsafe更是一个庞大的工程,要实现一个去中心化的互联网,它有这些特性:第三方保存你的密码;数据加密存储,别人无法窥探你的数据;去中心化的网络中;数据存储的高可靠性等。Maidsafe本身还是一个平台,可以开发其它的DApp。它的代币叫Safecoin,还有一种币叫MaidSafeCoin,我还没研究清楚这两种币之间的区别。

用MyEtherWallet钱包参与ICO

如果用ICO平台没有抢到币的话,还可以用钱包自己参加ICO,9月国内禁止了ICO,你如果发现了好项目,只能用这种办法直投ICO了。

第一步:如果以前没有ETH钱包,登录MyEtherWallet网站,生成一个新钱包。设置一个密码,生成钱包。

20-1 MyEtherWallet生成钱包

第二步:保存Keystore文件,放在一个安全的地方,不让别人看到,我是放在KeePass工具中。

20-2 下载keystore

第三步:保存私钥。第二步、第三步选择其中一种方式就行,保存好,不让别人看到。还不放心?打印纸钱包,生成PDF文件,同样保存好,别让人看见

20-3 保存私钥

第四步:用刚才的私钥解锁,进入你的钱包,余额肯定都是0。记住收款地址,我的是:0xB4fd52AA5DB2820dC183aCa9ea8ff030a5F92D5E,写这个教程用去了0.06ETH(取0.05ETH,矿工费0.01ETH),欢迎捐赠到这个地址。

20-4 解锁钱包

20-5 解锁后的钱包界面

第五步:到交易所买点ETH,提现(需要0.01ETH的矿工费)到刚才的地址:0xB4fd52AA5DB2820dC183aCa9ea8ff030a5F92D5E

第六步:等待提现到帐,不同交易所的处理时间不一样。

第七步:再登录你的钱包,看看是否到帐,如果到帐,进入下一步。如果没到帐,可以登录这个网址查查进展,把你的收款地址敲进去,查一下即可。

第八步:我曾经参加了lampix 项目的ICO,登录它的官网https://lampix.co/,找到它的众筹地址:0x8eFFd494eB698cc399AF6231fCcd39E08fd20B15,该众筹已经截止,这里只是示例,请勿向该地址付款。

再次确认一遍这个地址,曾经有黑客入侵过ICO网页,把收款地址修改成了黑客的地址,然后......

20-6 参与lampix项目

第九步:登录myetherwallet,发币到众筹地址,留出足够的GAS费用,生成交易,再发送交易。

20-7 发送代币

第十步:增加token代码。点“Add Custom Token"按钮,把PIX代币名称输入,完成。等众筹成功后,PIX代币里就会有数字了。

20-8 增加代币代码

Gas Limit

你参与ICO,发送ETH到众筹的合约地址,在比特币里相当于发起了一笔交易,在以太坊里相当于发起一份智能合约,矿工负责把这份合约加到区块链上,交易手续费相当于激励措施,让矿工干活更卖力。

Gas Limit就是你准备消耗的最大燃料数量,以太坊里的交易相当于程序代码,有不同类型,消耗的燃料数量也不一样,一开始无法准确估计,就设置了一个最大量,以免有些人操作失误钱包被掏空。

如果你提供了较少的燃料费,交易可能会失败,但燃料费不退。以太坊上的交易,合约代码已经执行了,执行过程需要许多步骤,刚走了2步,没油了,只能作废,想补Gas也来不及了,所以提前设置好Gas Limit很重要

如果ICO交易成功,手续费是按实际花掉的燃料计算的,多余没花掉的燃料,会以ETH的方式自动退回到你的钱包中。

Gas Price

意思是单位燃料的价格,我们熟悉的单位是Ether,最小计量单位是wei。这个计量单位(为了纪念一些名人)实在是太小了,官网上提供了一个很全的列表:

这个Gas Price也很重要,你给的价格越高,你的交易就越优先被矿工取走,就越早地被确认。

以太坊货币单位中的名人

wei:Wei Dai,他发明了B-Money,中本聪在2008年写的比特币白皮书中引用了他的B-Money论文。

ada:Ada Augusta,阿达·奥古斯塔,被封为Lovelace女伯爵,所以经常称她为Ada Lovelace。19世纪诗人拜伦的女儿,数学家,被称为“第一个给计算机写程序的人”,建立了循环和子程序概念,为计算程序拟定“算法”。第一位程序员竟然是女士,为了纪念她,有一门编程语言就叫ADA。

babbage:Charles Babbage,查尔斯·巴贝奇,英国发明家,用一堆机械发明了差分计算机,还用了一堆图纸设计了第二代差分计算机,可惜工艺太复杂,他在世时没造出来。N年过后,有个大学按他的设计把机器造出来了,竟然真能运转。虽然没有用电,原理却与现代的计算机一样,详细的介绍请参考《信息简史》一书。

shannon:Claude Shannon,香农,美国数学家、信息论的创始人。首先提出了信息熵的概念,为信息论和数字通信奠定了基础。

szabo:Nick Szabo,尼克·萨博,计算机科学家、加密大师,1993年最早提出了智能合约(smart contract),1994年写成了《智能合约》的开山之作,1998年就设计出了“比特黄金”(bit gold)的去中心化的数字货币机制,有人怀疑尼克·萨博就是中本聪(Satoshi Nakamoto)。

finney:Hal Finney(哈尔芬尼)是一名密码朋克(cypherpunk),比特币的第一笔测试交易是中本聪向他转10BTC, 2014年8月死于渐冻人症,终年58岁。

最后一个einstein爱因斯坦就不用介绍了。

  • 发表于:
  • 原文链接:http://kuaibao.qq.com/s/20180111G0QRYC00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。

扫码关注云+社区