以太坊入门手册(附各类工具链接)

1
okx

编者按:从 2008 年诞生以来,区块链走过了十多年的风雨路,繁衍出比特币、以太坊、EOS等诸多公有链。诞生于 2014 年的以太坊,到今天已经走过了整整 5 个年头。本文将围绕以太坊,介绍相关基础知识,提供各种查询工具、社群链接,帮助大家更加深入学习以及在以太坊上进行开发。

记者 | 秦晓峰

编辑 | 卢晓明

以下为本入门手册目录:

  • 一、以太坊是什么?

  • 二、以太坊代币

  • 三、节点、网络、账户与钱包

  • 四、以太坊挖矿

  • 五、智能合约与DApp开发

  • 六、以太坊的发展历史

  • 七、以太坊社区治理:基金会、社群、贡献者介绍

  • 八、其他

在介绍以太坊之前,如果你对区块链以及比特币还不了解,可以阅读《区块链 100 问》、《区块链课堂100问》或者观看一下这个视频《比特币的原理》。

(Odaily星球日报注:本文带有下划线的部分均可以点击跳转至相关链接。)

一、以太坊是什么?

什么是以太坊?根据 以太坊白皮书定义,以太坊是一个全新开放的区块链平台,它允许任何人在平台中建立和使用通过区块链技术运行的去中心化应用;它是一个开放源代码的项目,由全球范围内的很多人共同创建,允许用户按照自己的意愿创建复杂的操作;以太坊核心是以太坊虚拟机(“EVM”)/智能合约,可以执行任意代码,用计算机科学术语说,以太坊的虚拟机是“图灵完备的”。

以太坊究竟是什么?推荐阅读以太坊创始人 Vitalik Buterin 的文章《以太坊是什么》。

此外,我们建议大家可以阅读一下以太坊白皮书,尽管不一定能全部看懂,但是可以从一个更高的维度去把握以太坊。除了白皮书,以太坊还有黄皮书、紫皮书。

  • 以太坊白皮书:2014 年初,由以太坊创始人 Vitalik Buterin (V 神)发表,从技术方面来看,白皮书只是描述了一种新技术的理论(英文版/中文版);

  • 以太坊黄皮书:2014 年 4 月,由 Gavin Wood 博士(以太坊联合创始人兼CTO)发布,号称以太坊的技术圣经,将以太坊虚拟机(EVM)等重要技术规格化(中文版/英文版);

  • 以太坊紫皮书:2016年,V 神发布了一份紫皮书,为解决区块链的效率和能耗问题,提供了一种将POS和基于分片证明进行合并的解决方案,包括提高可扩展性、确保经济终结性和提高计算机抗审查等(英文版/中文版)。

关于以太坊,国内和国外都有一些以太坊文库可以参考,Odaily星球日报推荐:《以太坊官方中文文档》、以太坊爱好者知识库、ethdocs英文版;如果不愿意看文字版的,视频也是个不错的选择,推荐《以太坊入门》。

二、以太坊代币

2014 年 1 月,Vitalik 在美国佛罗里达州迈阿密举行的北美比特币会议上正式宣布了以太坊。

同年 6 月,以太坊基金(Stiftung Ethereum)在瑞士楚格成立,并在随后的 42 天内对第一批公开预售的以太币进行分配,净赚31591比特币,当时价值 1840 万美元,售出大约6010 万个以太币。销售所得首先用于偿还日益增加的法律债务,回报开发者们数月以来的努力,以及资助以太坊的持续开发。

代币是什么?

什么是以太坊代币?简单来讲,以太坊代币是内置在以太坊区块链上的数字资产。如果将以太坊区块链看作一个程序,代币在某种程度上就是程序中的流通货币/积分,不同的是,传统的积分只能由程序的设置者发行,而以太坊上的代币任何人都可以发行。

以太坊上的代币分为两种:一种是以太坊区块链原生代币以太币(ETH);另一种是按照以太坊提供的工具和标准开发所发行的代币(比如BNB)。两者的区别最直观在于流通场景,ETH是以太坊网络的通货,链上的每次操作/交易都需要付燃料费(有点像手续费);BNB 等代币无法支付燃料,只有 ETH 可以。在币安、火币和 OKex 等链下交易所、链上去中心化交易所或线下 P2P,BNB 等代币也可以按一定比率换成 ETH。

代币可以固定总发行量以及流通量,也可以不固定,比如 ETH 至今仍未停止增发,尽管去年 4 月 Vitalik 曾提议将 ETH 供应量上限定为 1.2 亿。

代币可以用来做什么呢?每个代币的属性和功能都要遵守其预期用途的约束,比如支付访问网络、驱动智能合约、激励用户对某个协议的使用或者充当生态运行燃料(即 Gas,下面会解释)。当然也有一些代币没有任何实际用途,在其生态中也并非完全必须的,发行代币也只是项目圈钱的手段。

代币通常通过“原始货币众筹”(Initial Coin Offering,ICO)的销售方式或者挖矿(后文会解释)的方式进入公众视野。代币创建者会通过提供内置代币,来交换以太币、比特币或其他数字资产。2017 年的 ICO热潮就是这样被炒起来的,鱼龙混杂,各种跑路事件层出不穷。

推荐阅读《代币为什么存在,如何使用》、《以太坊代币入门指南》以及以太坊创始人V 神的文章《关于代币发售模型》。

代币标准

目前,以太坊上代币超过 1000 种,不同的代币发行标准也各不相同。最常见的就是 ERC-20 代币,它也是各个代币的标准接口。不同的标准有不同特点,比如 ERC-20 代币可以继续分解,更类似货币;但是 ERC-721 即非同质代币(NFTs)却是不可以。目前 ERC-20 是最多项目用于发币的标准。

然而,ERC-20 代币标准很可能会造成终端用户的资金丢失,主要的问题在于无法处理 ERC-20 代币转账函数执行的 ERC-20 收入交易,ERC-233 应运而生。ERC-233 定义了一个标准函数,能够防止意外发送代币到(不支持该标准的)合约中,同时也让代币的转账就像以太坊转账一样。

除此之外,还有 ERC-777(基于操作者的代币标准)、ERC-809 (非同质代币的租赁标准)等 23 种不同的代币发行标准。想要了解更多,可以阅读。

查询工具推荐

关于ERC-20 代币,有一个专门的网站可以查询,这便是 ethplorer——它可以查询以太坊上代币及代币排名比较。你知道以太坊生态中除了ETH,那个代币的市值最高吗?这个网站可以给你答案。除此之外,它还有其他功能,包括钱包、ICO查询(收费)。

对于二级市场的参与者,尤其是参与过多次私募的投资者而言,最害怕的就是项目方套现跑路。dappcapitulation浏览器不仅可以看到以太坊创世“巨鲸”的账户余额,还能看到以太坊上各个项目方的账户余额,防止项目方套现跑路。

最后推荐一个可以查看以太坊链上的大额转账的浏览器——Tokenview,除了以太坊还有其他几十种代币都可以,数据可以追踪到几个月前。

三、节点、网络、账户与钱包

节点

节点可以简单理解为运行着以太坊客户端的计算机/服务器,所有以太坊节点通过网络连接组成主网。根据运行的客户端类型不同,可以分为全节点和轻节点,轻节点需要通过连接主节点获取最新数据和发起交易。

关于全节点、轻节点以及归档节点的区别,推荐阅读Odaily星球日报编译的《以太坊节点运行成本》;想要查看各个节点,推荐使用节点浏览器ethernodes。

帐户与钱包

以太坊帐户可以用来存储所有的以太坊代币(不仅仅是ETH),创建时不需要花费 gas(EOS的账户创建要花费少量gas)。一个帐户就是一个私钥和公钥地址对。公钥可以理解为账户地址,私钥可以理解成账户的密码、钥匙。

区块链地址是根据非对称加密算法,生成私钥和公钥,从公钥根据一系列的计算推导出地址。任何人均可以生成大量的私钥、公钥、地址,可是用人力自己计算非常不现实。区块链钱包正是帮助我们生成私钥、公钥、生成符合某个公链规范的工具。具体计算方式请参照《什么是区块链钱包》。

区块链钱包可以分为热钱包、冷钱包、托管钱包等不同种类,不同的钱包性质、安全性与易用性不同,其中热钱包易用性较高,但因为联网而容易被盗私钥;冷钱包本质是私钥存储工具、安全性较高;托管钱包则私钥由运营方托管。具体差异,推荐阅读《区块链数字货币钱包分类》。

以太坊钱包客户端也有很多种,推荐阅读《6种以太坊(ETH)钱包的基本介绍》:

  • Ethereum 官方钱包:浏览器 Mist。Mist是一个全节点钱包(全节点钱包通俗的来说就是同步了全部的以太坊区块信息的钱包)。也就是说打开钱包后,电脑会自动同步全部的以太坊区块信息。优势是安全度高,不需要经过第三方发起交易,节点未同步完成之前无法查看地址余额;劣势是无法调整Gas 价格,对网络要求高,需要连接全节点,才能发起交易。

  • Parity 钱包:原以太坊基金会部分成员开发的钱包。功能强大,也是一个全节点钱包。优势是安全度高,不需要经过第三方发起交易;劣势是对网络要求高,需要连接节点才能发起交易。

  • imToken:移动端钱包,操作简便,在imToken上生成的钱包私钥保存在手机本地,平台方并无备份。

请注意:这里我们需要辨析一点,节点、钱包、浏览器三者并未完全冲突的,成为节点可以说是做区块浏览器基础。就拿Mist来说,它是一个浏览器,因为它要查询数据,因此是构建在一个全节点上的;但与此同时,它也有管理功能,可以管理私钥和公钥,因此也是一个钱包。当然,并非所有的钱包都要求是全节点。

主网与测试网

以太坊一直以来有两种网络——主网以及测试网。主网,通常是所有客户端的默认网络;所谓的测试网是用来模拟主网的行为,功效与主网相同,因此开发者可以在测试网上开发和测试自己的智能合约、发币等等,作为上链前的环境评估。反之,当主网对以太坊协议进行任何重大改变时,其测试主要在这些测试网络上完成。

最常用的3种测试网分别是 Ropsten、Kovan、Rinkeby。

  • Ropsten:只支持 geth 客户端,一个 POW 的区块链,非常类似于以太坊主网,但由于低计算量,容易遭到 DDOS 攻击。过去受到垃圾攻击,问题较多。

  • Kovan:只支持 Parity 客户端;一个 POA 的区块链,不能挖矿。

  • Rinkeby:支持 geth和Parity 客户端;一个POA的区块链,不能挖矿。尽管计算量低,但是对恶意行为者更有弹性。

对于开发中的测试环境,建议使用 Rinkeby 或 KoVan 测试链

欧易

欧易(OKX)

用戶喜愛的交易所

币安

币安(Binance)

已有账号登陆后会弹出下载

进群交流|欧易官网