以太坊和区块链实战技术分析详解
一、??? 以太坊和區塊鏈的關系
? ? ?從區塊鏈歷史上來說,先誕生了比特幣,當時并沒有區塊鏈這個技術和名詞,然后業界從比特幣中提取了技術架構和體系,稱之為區塊鏈技術。從比特幣提取的區塊鏈技術稱之為區塊鏈1.0時代,那個時候的應用主要以電子貨幣和去中心化交易為主,比如各種山寨幣。而以太坊將區塊鏈帶入了2.0的時代,區塊鏈2.0不是推翻了1.0,而是在1.0的基礎上實現了區塊知曉、價值知曉、圖靈完備,并進行了細節優化,從而形成了以智能合約為特色的區塊鏈2.0。比特幣定位于一個應用,而以太坊定位于平臺,你可以在這個平臺上利用智能合約做各種應用。
? ? 所以,學習區塊鏈,直接學習以太坊就好了
二、??? 以太坊入門的方法
? ? ? ? 對于沒有接觸過區塊鏈的人,建議先參會以太坊的日常應用。
1、???????? 使用客戶端
? ? 這里的教程很多,推薦一個以太坊錢包教程
2、???????? 挖礦
? ? 挖礦的教程很多,一般分布在各個礦池,這里推薦一個國內礦池的教程,并且可以加入各個礦池的群去交流一下。國內的礦池有www.f2pool.com,www.bw.com 等幾大礦池。
http://pan.baidu.com/s/1c27DOCo
3、???????? 瀏覽公有鏈的區塊信息
? ? 在經歷以上事情后,可以通過區塊鏈瀏覽器去查看自己的賬戶和交易,更直觀感受。
? ? 通過以上的操作,基本可以算對區塊鏈有了一個初步的了解和感知。
三、??? 以太坊各個項目說明
? ? 以太坊發布以后,有 多個客戶端,同時也支持多個平臺,初學者往往被各種各樣的客戶端弄迷糊,本文進行了詳細的總結。
? ? 以太坊客戶端以語言進行分類,在github上分成了不同項目,源代碼地址:https://github.com/ethereum/,雖然以太坊客戶端眾多,但是有兩個共同特點:
? ? 1、同一語言的客戶端在不同平臺上的使用是完全相同的
? ? 2、不同語言的客戶端(mist、geth、eth等等)之間在同一個平臺(linux、windows或OSX)上共用一樣的應用配置,同時其命令行可使用的參數也是一致。
? ? 下面就以github上的項目為分類說明各個客戶端的用途和特點:
(一)go-ethereum項目
? ? 開發語言:go語言
? ? 客戶端文件:Geth
? ? 界面:命令行
? ? 適用平臺:windows、linux和OSX
? ? 功能和特點:該項目是使用最廣泛的以太坊客戶端,大部分節點都是運行的該客戶端,教程和例子也最多,推薦使用,可用于挖礦,組建私有鏈,管理賬號,部署智能合約等常用功能,不可以編譯智能合約。
(二)webthree-umbrella項目
? ? 此項目包含3個客戶端
? ? 開發語言:c++
? ? 客戶端文件:AlethZero、Mix和Eth
? ? 使用平臺:windows、linux和OSX
? ? 界面:圖形化界面
? ? 功能和特點:該項目嚴格來說是cpp-ethereum 項目的一個shell,是以太坊基金會的前CTO,Gavin Wood主持編寫的,所以人氣也很高,易用性也很好。AlethZero是圖形化的錢包客戶端,對應的是Geth的功能,不過是全圖形化的。但是隨著后續以太坊基金會主推的圖形化錢包Mist的推出,漸漸沒落。Mix 是智能合約(以太坊稱為DAPP)的開發IDE,可以支持智能合約(DAPP)的編寫、調試,部署,全圖形化界面,但是目前已經停止開發了,開發組轉向了Remix。Eth是C++編寫的命令行客戶端功能和Geth一樣。
(三)Mist項目
? ? 開發語言:JavaScript
? ? 客戶端文件:Mist(目前使用Ethereum-Wallet的名稱)
? ? 使用平臺:windows、linux和OSX
? ? 界面:圖形化界面
? ? 功能和特點:該項目是以太坊基金會主推的項目,Mist定位不只是一個錢包,而是將來DAPP(智能合約的應用APP)市場,類似于蘋果市場,在這里可以有你的賬號,可以瀏覽、發布和買賣以太坊的DAPP應用。目前因為開發還不夠全面,名稱暫時顯示為Ethereum-Wallet,作用也很簡單,就是一個錢包的功能。強烈推薦,未來的主流客戶端。
(四)solidity項目
? ? 開發語言:C++
? ? 客戶端文件:solc
? ? 使用平臺:windows、linux和OSX
? ? 界面:命令行界面
? ? 功能和特點:該項目是以太坊智能合約(DAPP)的編程語言,使用solc作為編譯程序,該項目主要用于編譯,嚴格來說是一個基本的編譯平臺,一般開發可用MIX替代。
(五)browser-solidity項目
? ? 開發語言:C++
? ? 客戶端文件:瀏覽器中顯示
? ? 使用平臺:windows、linux和OSX
? ? 界面:瀏覽器界面
? ? 功能和特點:該項目是智能合約瀏覽器版本的開發環境,可以支持在瀏覽器中直接開發、調試和編譯,對于初學者來說,可以快速上手,不需要安裝,非常方便,直接訪問地址使用:https://ethereum.github.io/br...
(六)pyethereum項目和ethereumj項目
? ? pyethereum項目是用python語言編寫的以太坊客戶端,ethereumj項目是用JAVA語言編寫的以太坊客戶端,只是語言不同,和前面GO語言編寫的客戶端Geth的功能完全相同。
(七)etheminer項目
? ? 開發語言:C++
? ? 客戶端文件:ethminer
? ? 使用平臺:windows、linux和OSX
? ? 界面:命令行
? ? 功能和特點:該項目是cpp-ethereum項目的一部分,用于和Geth配合進行GPU挖礦,比CPU挖礦效率高100多倍,也可以用于礦池挖礦
總結
以上是生活随笔為你收集整理的以太坊和区块链实战技术分析详解的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 一个C#程序员学习微信小程序的笔记
- 下一篇: Hyper-V群集对群集复制