如何开始学习以太坊及区块链
? ? ?從區(qū)塊鏈歷史上來說,先誕生了比特幣,當(dāng)時(shí)并沒有區(qū)塊鏈這個(gè)技術(shù)和名詞,然后業(yè)界從比特幣中提取了技術(shù)架構(gòu)和體系,稱之為區(qū)塊鏈技術(shù)。從比特幣提取的區(qū)塊鏈技術(shù)稱之為區(qū)塊鏈1.0時(shí)代,那個(gè)時(shí)候的應(yīng)用主要以電子貨幣和去中心化交易為主,比如各種山寨幣。而以太坊將區(qū)塊鏈帶入了2.0的時(shí)代,區(qū)塊鏈2.0不是推翻了1.0,而是在1.0的基礎(chǔ)上實(shí)現(xiàn)了區(qū)塊知曉、價(jià)值知曉、圖靈完備,并進(jìn)行了細(xì)節(jié)優(yōu)化,從而形成了以智能合約為特色的區(qū)塊鏈2.0。比特幣定位于一個(gè)應(yīng)用,而以太坊定位于平臺(tái),你可以在這個(gè)平臺(tái)上利用智能合約做各種應(yīng)用。
? ? 所以,學(xué)習(xí)區(qū)塊鏈,直接學(xué)習(xí)以太坊就好了
二、??? 以太坊入門的方法
? ? ? ? 對(duì)于沒有接觸過區(qū)塊鏈的人,建議先參會(huì)以太坊的日常應(yīng)用。
1、???????? 使用客戶端
? ? 這里的教程很多,推薦一個(gè)以太坊錢包教程
2、???????? 挖礦
? ? 挖礦的教程很多,一般分布在各個(gè)礦池,這里推薦一個(gè)國(guó)內(nèi)礦池的教程,并且可以加入各個(gè)礦池的群去交流一下。國(guó)內(nèi)的礦池有www.f2pool.com,www.bw.com 等幾大礦池。
http://pan.baidu.com/s/1c27DOCo
3、???????? 瀏覽公有鏈的區(qū)塊信息
? ? 在經(jīng)歷以上事情后,可以通過區(qū)塊鏈瀏覽器去查看自己的賬戶和交易,更直觀感受。
? ? 通過以上的操作,基本可以算對(duì)區(qū)塊鏈有了一個(gè)初步的了解和感知。
三、??? 以太坊各個(gè)項(xiàng)目說明
? ? 以太坊發(fā)布以后,有 多個(gè)客戶端,同時(shí)也支持多個(gè)平臺(tái),初學(xué)者往往被各種各樣的客戶端弄迷糊,本文進(jìn)行了詳細(xì)的總結(jié)。
? ? 以太坊客戶端以語(yǔ)言進(jìn)行分類,在github上分成了不同項(xiàng)目,源代碼地址:https://github.com/ethereum/,雖然以太坊客戶端眾多,但是有兩個(gè)共同特點(diǎn):
? ? 1、同一語(yǔ)言的客戶端在不同平臺(tái)上的使用是完全相同的
? ? 2、不同語(yǔ)言的客戶端(mist、geth、eth等等)之間在同一個(gè)平臺(tái)(linux、windows或OSX)上共用一樣的應(yīng)用配置,同時(shí)其命令行可使用的參數(shù)也是一致。
? ? 下面就以github上的項(xiàng)目為分類說明各個(gè)客戶端的用途和特點(diǎn):
(一)go-ethereum項(xiàng)目
? ? 開發(fā)語(yǔ)言:go語(yǔ)言
? ? 客戶端文件:Geth
? ? 界面:命令行
? ? 適用平臺(tái):windows、linux和OSX
? ? 功能和特點(diǎn):該項(xiàng)目是使用最廣泛的以太坊客戶端,大部分節(jié)點(diǎn)都是運(yùn)行的該客戶端,教程和例子也最多,推薦使用,可用于挖礦,組建私有鏈,管理賬號(hào),部署智能合約等常用功能,不可以編譯智能合約。
(二)webthree-umbrella項(xiàng)目
? ? 此項(xiàng)目包含3個(gè)客戶端
? ? 開發(fā)語(yǔ)言:c++
? ? 客戶端文件:AlethZero、Mix和Eth
? ? 使用平臺(tái):windows、linux和OSX
? ? 界面:圖形化界面
? ? 功能和特點(diǎn):該項(xiàng)目嚴(yán)格來說是cpp-ethereum 項(xiàng)目的一個(gè)shell,是以太坊基金會(huì)的前CTO,Gavin Wood主持編寫的,所以人氣也很高,易用性也很好。AlethZero是圖形化的錢包客戶端,對(duì)應(yīng)的是Geth的功能,不過是全圖形化的。但是隨著后續(xù)以太坊基金會(huì)主推的圖形化錢包Mist的推出,漸漸沒落。Mix 是智能合約(以太坊稱為DAPP)的開發(fā)IDE,可以支持智能合約(DAPP)的編寫、調(diào)試,部署,全圖形化界面,但是目前已經(jīng)停止開發(fā)了,開發(fā)組轉(zhuǎn)向了Remix。Eth是C++編寫的命令行客戶端功能和Geth一樣。
(三)Mist項(xiàng)目
? ? 開發(fā)語(yǔ)言:JavaScript
? ? 客戶端文件:Mist(目前使用Ethereum-Wallet的名稱)
? ? 使用平臺(tái):windows、linux和OSX
? ? 界面:圖形化界面
? ? 功能和特點(diǎn):該項(xiàng)目是以太坊基金會(huì)主推的項(xiàng)目,Mist定位不只是一個(gè)錢包,而是將來DAPP(智能合約的應(yīng)用APP)市場(chǎng),類似于蘋果市場(chǎng),在這里可以有你的賬號(hào),可以瀏覽、發(fā)布和買賣以太坊的DAPP應(yīng)用。目前因?yàn)殚_發(fā)還不夠全面,名稱暫時(shí)顯示為Ethereum-Wallet,作用也很簡(jiǎn)單,就是一個(gè)錢包的功能。強(qiáng)烈推薦,未來的主流客戶端。
(四)solidity項(xiàng)目
? ? 開發(fā)語(yǔ)言:C++
? ? 客戶端文件:solc
? ? 使用平臺(tái):windows、linux和OSX
? ? 界面:命令行界面
? ? 功能和特點(diǎn):該項(xiàng)目是以太坊智能合約(DAPP)的編程語(yǔ)言,使用solc作為編譯程序,該項(xiàng)目主要用于編譯,嚴(yán)格來說是一個(gè)基本的編譯平臺(tái),一般開發(fā)可用MIX替代。
(五)browser-solidity項(xiàng)目
? ? 開發(fā)語(yǔ)言:C++
? ? 客戶端文件:瀏覽器中顯示
? ? 使用平臺(tái):windows、linux和OSX
? ? 界面:瀏覽器界面
? ? 功能和特點(diǎn):該項(xiàng)目是智能合約瀏覽器版本的開發(fā)環(huán)境,可以支持在瀏覽器中直接開發(fā)、調(diào)試和編譯,對(duì)于初學(xué)者來說,可以快速上手,不需要安裝,非常方便,直接訪問地址使用:https://ethereum.github.io/browser-solidity/
(六)pyethereum項(xiàng)目和ethereumj項(xiàng)目
? ? pyethereum項(xiàng)目是用python語(yǔ)言編寫的以太坊客戶端,ethereumj項(xiàng)目是用JAVA語(yǔ)言編寫的以太坊客戶端,只是語(yǔ)言不同,和前面GO語(yǔ)言編寫的客戶端Geth的功能完全相同。
(七)etheminer項(xiàng)目
? ? 開發(fā)語(yǔ)言:C++
? ? 客戶端文件:ethminer
? ? 使用平臺(tái):windows、linux和OSX
? ? 界面:命令行
? ? 功能和特點(diǎn):該項(xiàng)目是cpp-ethereum項(xiàng)目的一部分,用于和Geth配合進(jìn)行GPU挖礦,比CPU挖礦效率高100多倍,也可以用于礦池挖礦
四、??? 以太坊常用網(wǎng)址(含智能合約)
? ? 以太坊有很多有用的網(wǎng)站都分布在國(guó)外,找起來很費(fèi)勁,這里總結(jié)一下
1、以太坊官方網(wǎng)站:https://ethereum.org/
該網(wǎng)站為以太坊的官方網(wǎng)站,有詳細(xì)的以太坊介紹和各種連接地址,推薦詳細(xì)看一看
2、以太坊所有源碼地址(官方):https://github.com/ethereum/
該github為以太坊所有項(xiàng)目的源碼地址,以及更新和發(fā)布。
3、以太坊Homestead文檔地址(官方):http://www.ethdocs.org/en/latest/index.html
該網(wǎng)站為以太坊的詳細(xì)介紹文檔,基本包括了以太坊的方方面面,如果有什么不清楚的原理和應(yīng)用,基本都可以在這里找到答案和線索。
4、以太坊網(wǎng)絡(luò)狀態(tài)地址(官方):https://ethstats.net/
該網(wǎng)站能全面的顯示網(wǎng)絡(luò)狀態(tài),包括節(jié)點(diǎn)、難度、算力等等,非常直觀
5、以太坊資源網(wǎng)站(官方):http://ether.fund/
該網(wǎng)站提供了以太坊很多應(yīng)用資源,比如市場(chǎng)情況、合約輔助工具、已發(fā)布的智能合約、以太坊網(wǎng)絡(luò)、DAAP等,方便開發(fā)和發(fā)布。
6、Solidity編程文檔(官方):http://solidity.readthedocs.io/en/latest/
該網(wǎng)站提供了以太坊Solidity語(yǔ)言的全面參考手冊(cè),學(xué)習(xí)Solidity語(yǔ)言必備。
7、以太坊網(wǎng)絡(luò)掃描(官方):http://etherscan.io/
該網(wǎng)站提供了以太坊網(wǎng)絡(luò)的各種狀態(tài),比如帳號(hào)的詳情、TOKEN詳情,難度詳情、區(qū)塊詳情,非常方便和直觀。
8、以太坊官方博客:https://blog.ethereum.org/
9、以太坊wiki百科地址:https://github.com/ethereum/wiki/wiki
在這里有白皮書、黃皮書以及開發(fā)指南,比較全面。
10、以太坊中文愛好者網(wǎng)站:http://ethfans.org/
該網(wǎng)站為國(guó)內(nèi)以太坊愛好者自發(fā)建立的網(wǎng)站,內(nèi)容比較全,信息更新很快。
11、以太坊的gitter的實(shí)時(shí)交流網(wǎng)站:https://gitter.im/orgs/ethereum/rooms
該網(wǎng)站是以太坊的gitter chart的網(wǎng)站,根據(jù)項(xiàng)目分了很多房間,只要你提問題,大部分有人回答,很不錯(cuò),不過只能英語(yǔ)交流。
12、以太坊的官方論壇:https://forum.ethereum.org/
官方論壇,沒什么好說的,我遇到的幾個(gè)問題,都是在這里找到的答案
13、以太坊第三方強(qiáng)大的IDE:https://live.ether.camp/
這個(gè)是第三方發(fā)布的Solidity IDE,我看了一下,很強(qiáng)大,強(qiáng)大到還不太會(huì)用,他的目標(biāo)是企業(yè)級(jí)IDE,老外用的較多。
14、以太坊開發(fā)框架Truffle說明書:http://truffle.readthedocs.io/en/latest/
以太坊目前很流行的開發(fā)框架Truffle的說明書,這個(gè)框架比較流行。
15、以太坊開發(fā)框架dapple說明書:http://dapple.readthedocs.io/en/master/
這個(gè)開發(fā)框架是在gitter chart上看到的,感覺用的人不多,先觀察
16、以太坊官方推薦開發(fā)框架Meteor說明書:https://github.com/ethereum/wiki/wiki/Dapp-using-Meteor
這個(gè)開發(fā)框架是以太坊官方推薦的,寫進(jìn)了以太坊的官方wiki,值得學(xué)習(xí),當(dāng)然,以太坊官方經(jīng)常轉(zhuǎn)換方向,以后換別的也沒準(zhǔn)
總結(jié)
以上是生活随笔為你收集整理的如何开始学习以太坊及区块链的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: lodsb、stosb(和lodsw、s
- 下一篇: 玩转以太坊(Ethereum)的测试网络