以太坊的結算單位
1. 以太坊精度是幾位
以太坊的私鑰是一個256位的二進制數,因此猜對它的概率是2的256次方分之一,數值上大約是10的77次方分之一,也就是說分母是1後面77個0。
1、以太坊的單位,沿襲了科學界的傳統,用做過傑出貢獻的數學、密碼學專家的名字命名。一次性向六位專家致敬,並且未來可能引入更多單位。以太坊的最小單位是Wei。
2、以太坊的私鑰是一個256位的二進制數,因此猜對它的概率是2的256次方分之一,數值上大約是10的77次方分之一,也就是說分母是1後面77個0。
3、1個以太幣=10的18次方Wei,但因為這個單位太小,好像Byte位元組與KB、MB、GB的電腦存儲單位一樣,以太坊還有其他的單位:
Kwei(Babbage)=10的3次方Wei
Mwei(Lovelace)=10的6次方Wei
Gwei(Shannon)=10的9次方Wei
MicroEther(Szabo)=10的12次方Wei
MilliEther(Finney)=10的15次方Wei
Ether=10的18次方Wei
每個單位都還有個別名,即括弧里的那個,每個別名又各有來歷。老鏈哥找機會再逐個介紹。通常,小額支付使用Finney,計算Gas價格使用GWei。
2. 以太坊總量多少枚
以太坊於1990年後於2014年成立。在成立之初,他們採用眾籌的概念來籌集以太琴。2014年7月/8月,分發了約7200萬個Ethereum進行眾籌。這些硬幣有時被稱為「地雷」。眾籌階段後,以太坊的年產量限制在7200萬台以太坊的25%。以太坊是除比特幣之外數字貨幣領域最具開創性的項目。如果說比特幣是區塊鏈的起源,那麼以太琴推動了區塊鏈的發展。簡單來說,所謂的Ethereum是一個開源的區塊鏈公共平台,允許每個人自由開發智能合約。就像互聯網中的安卓和windows系統一樣,它可以提供一套特殊的腳本語言,讓每個人都可以在上面自由開發各種區塊鏈應用。目前,以太坊的挖掘正接近紅利期,隨著雲計算的普及,參與Ethereum的挖掘越來越方便。手機可以下載采礦軟體,隨時監控采礦機的采礦狀態,每天采礦收入都會到賬。簡單方便,更適合廣大市民。如果你有10000M乙太網的計算能力,那麼你每天可以挖一個乙太網,一年365個。目前ethereum的價格是3000元,你應該知道巔峰時期達到了10140。
拓展資料
1、 以太坊有投資價值嗎?歷史地位。比特幣是第一種知名的數字貨幣。比特幣本身效率很高,甚至存在安全問題。所以它誕生之後,經過多次優化和分叉,很多硬幣都站出來挑戰性能優越的比特幣的地位。如今,比特幣逐漸成為與黃金相對應的保值產品。類比來看,雖然Ethereum面臨諸多性能挑戰,但未來大家都可能轉向EOS等公鏈發展,但Ethereum特殊的歷史地位決定了它很難被遺忘。與比特幣相比,以太坊結合了許多比特幣用戶熟悉的特性和技術。同時,它對這些特性和技術進行了許多修改和創新。比特幣區塊鏈技術本身就是一份純粹的交易清單,區塊鏈記錄了保存在比特幣區塊鏈中的所有交易。
2、 乙太網的基本單位是賬戶,因此乙太網區塊鏈將跟蹤每個賬戶的狀態。以太坊中所有區塊上的狀態轉移是賬戶之間的價值和信息轉移,這與比特幣不同。以太坊直到2016年才進入中國公眾的視野,但以太坊白皮書是在2013年發布的,也很搞笑。第一個版本於2013年底發布。2014年7月,埃瑟倫首次預售第一批埃瑟倫幣。2014年10月,新版本發布,區塊時間從60秒縮短到12秒。總的來說,從某種意義上來說,以太坊是未來極有可能承載整個數字世界的大平台,其實際使用場景和意義將遠遠大於比特幣。如果把比特幣比作黃金,那麼以太琴就可以比作白銀。
3、 貨幣屬性。比特幣逐漸被市場認定為數字黃金,也逐漸被全球法律認定為個人私有財產,受到法律保護。作為市值排名第二的密碼貨幣市場,雖然沒有劣幣用比特幣驅逐良幣的歷史,但與銀本位類似的以太坊貨幣的數字白銀屬性值也得到普遍認可。
3. 比特幣和以太坊的區別 比特幣和以太坊有啥區別
1 、定位不同:以太坊是員工投資開發的一個平台,比特幣是點到點支付平台,處理付款等一些問題;
2 、 發行量:以太坊是不限量發行;比特幣發行總產量是 2100 萬,每四年就遞減;
3 、 交易方法:以太坊挖幣均值時長為 20 秒,以 Gas 為 單位去指定的地區交易;比特幣挖礦均值時長是 十分鍾,以 Satosh 作為單位進行隨意交易;
4 、交易花費:以太坊的交易利率遠遠小於比特幣的交易利率。
以上就是比特幣和以太坊的區別相關內容。
什麼叫以太坊
2015 年 7 月以太坊全面啟動,以太坊提供了最高的 、最真正的開放性軟體,供用戶在上面開發設計各種的 app 。以太坊將智能合約和核心軟體搭建起來並 執行的,以避免第三方的阻攔、詐騙、操縱或影響。以太坊內置計算機語言。這類語言在數字貨幣上運作,容許開發者搭建和運作分布式架構程序。以太坊的潛在使用范疇十分的廣,由設備上的加密動態口令來支撐 。以太坊的意義取決於其能和其它加密貨幣以同樣的交易方法進行貨幣交易,在以太坊互聯網上運作 app 。本文主要寫的是比特幣和以太坊的區別有關知識點,內容僅作參考。
4. 以太坊和比特幣的區別
1、定位:以太坊是員工投資開發平台,比特幣是點對點支付系統,解決支付的問題;
2、 發行量:以太坊是無限量發行;比特幣發行總量是 2100 萬,每四年就減半;
3、 交易方式:以太坊挖礦平均時間為 20 秒,以 Gas 為單位去指定地方交易;比特幣挖礦平均時間為 10 分鍾,以 Satoshis 為單位進行自由交易;
4、交易費用:以太坊的交易費率遠遠低於比特幣的交易費率。
什麼是以太坊
2015 年 7 月以太坊 正式 啟動, 以太坊提供了最大的、最正式的開放式軟體平台,供大家在上面開發各種 app 。以太坊將智能合約和去中心應用程序的重新構建並執行,以防止來自第三方的阻止、欺詐、控制或干擾。以太坊自帶編程語言。這種語言在區塊鏈上運行,允許開發人員構建和運行分布式應用程序。以太坊的潛在應用范圍非常的廣泛,由機器上的加密令牌以太加以支持。以太的目的在於其能和其他加密貨幣以相同的交易方式進行數字貨幣的交易,並且在以太坊網路上運行 app 。
5. 以太坊礦工費給誰了
員工。一個公有鏈上, 任何人都可以讀寫數據。讀取數據是免費的, 但是向公有鏈中寫數據時需要花費一定費用的, 這種開銷有助於阻止垃圾內容, 並通過支付保護其安全性。網路上的任何節點(每個包含賬本拷貝的連接設備被稱作節點) 都可以參與稱作挖礦的方式來保護網路。由於挖礦需要計算能力和電費, 所以礦工們的服務需要得到一定的報酬, 這也是礦工費的由來。
拓展資料:
什麼是 gas
以太坊和比特幣的不同之處,以太坊引入了 gas 的概念,gas的目的是限制執行交易所需的工作量,同時為執行支付費用。gas 用來衡量你的這筆交易(或者合約代碼調用)所消耗的資源(包括計算量,存儲,帶寬等)。一筆交易所產生的轉賬費用會獎勵給打包包含這筆交易的區塊的礦工。區塊不是哪個礦工產生的,所有的礦工都會競爭下一個區塊的打包權,勝出者可以打包下一個區塊。
交易不一定會存在一個區塊,它交易被廣播出去後,在數秒內全網所有的節點都會接收到這筆交易。礦工會優先打包 gas 合理,gas price 高的交易。如果用戶交易時所支付的礦工費非常低(out of gas), 那麼這筆交易可能不會被礦工打包, 從而造成交易失敗。 以太坊的交易費用= gas 數量 * gas price (gas 單價, 以太幣計價)
Gas Fee由Gas Limit(限制) 和 Gas Price(價格) 相乘得到。 不同時期、不同的操作gas limit默認值不同,而在執行操作時可以自行設置Gas Limit。需要注意的是,完成一筆交易所需的Gas 單位數量,取決於交易的復雜程度。當一筆交易越復雜,就必須要耗費較多的運算資源,因此需要花費較多Gas。 Gas Price是指Gwei的數量,它會影響到你的交易被礦工打包放上區塊鏈的速度。如果Gas Price 設的越高,就會讓給礦工更有動力將你的交易打包;相反的,如果Gas Price 設的低就要等待比較長的時間。如果不急著完成一筆交易,你就可以選擇較低的Gas Price 來省錢。在每次的交易中,你都可以依照需求調整Gas Limit和Gas Price。
6. ethermine結算規則
巴比特訊,7月19日,Ethermine礦池發文宣布,在區塊高度12,965,000進行倫敦升級後,將變更支付政策:100%而不是80%的MEV獎勵將轉發給礦工;現在也可以通過IP驗證啟動手動支付和更改閾值;最低支付門檻將降至0.01 ETH且無每月自動支付;礦工為所有以太坊主網支付交易支付的支付交易費,礦工可以設置他們願意支付的最高gas價格。
【拓展資料】:
1、Ethermine是一個高性能以太坊礦池。以太坊是幣圈中最受歡迎的代幣之一,因為它仍可通過顯卡開采。但是其挖掘難度使得通過單人挖礦與礦場競爭。
2、如何用礦池開采以太坊(ETH)
設置采礦設備_要開始采礦,您需要一個由顯卡或專門為以太坊設計的ASIC(特殊應用集成電路)組成的采礦設備。別忘了購買一個合適的電源設備和冷卻系統,以確保穩定的電源連接並避免過熱。設置您的以太坊錢包_在挖礦之前,請准備好您的錢包,您將在其中存放所有挖掘到的加密貨幣。試試我們的以太坊錢包,您可以在其中為任何您覺得方便的平台(iOS,Android或台式機)存儲和管理代幣。
3、如何選擇礦池
礦池位置_選擇一個在附近有伺服器的池。如果您居住在美國,並嘗試在位於中國的伺服器上進行挖礦,則不會獲得最佳效果。檢查礦池是否在與您所在的國家或地區相同的伺服器。這將幫助您更有效地進行開采。哈希率和礦工數量_當然,礦池的哈希率越高,獲得的加密貨幣就越多。但是,不要忘記在那裡工作的礦工數量。如果100000個傢伙正在通過高算力運行礦池,您將獲得微不足道的回報。尋找一個礦工數量適中的礦池來創造收入。根據支付系統的不同,您會不間斷或斷斷續續地得到回報。 PPLNS僅在礦池設法挖掘一個區塊時才會為您帶來加密貨幣收益。
7. 以太坊gas limit什麼意思
一、智能合約這么好,可不是白用的
智能合約,顧名思義,是指計算機代碼可以自動執行的合同;以太坊虛擬機是用來執行智能合約的;智能賬戶是智能合約能夠被執行的載體。換句話說,智能賬戶,這個「賬戶」是可以被以太坊虛擬機操控的,依據什麼操控呢,依據智能合約來操控。
天下沒有免費的午餐,智能合約這個功能這么好,可不是白用的,你在以太坊進行交易的時候也要付給礦工手續費的,那麼在以太坊系統上,你要付出的手續費是怎麼回事,
Gas和手續費之間又有什麼關聯呢?
二、以太坊 Gas 是怎麼回事?
以太坊Gas類似於汽車燃油,智能合約的驅動,需要以太坊Gas。Gas是一個英文單詞,中文意思是:瓦斯、汽油,這個東西在日常生活中,是一種消耗品。以太坊為什麼會產生「燃料」呢?
以太坊裡面的Gas是什麼意思呢?其實,以太坊的Gas和交易費息息相關。以太坊交易需要手續費,這個Gas就是以太坊手續費的計算模式。
在以太坊的設定中,交易費類似於一種加密的燃料,也就是Gas,這個東西可以驅動智能合約的運動。當以太坊在區塊鏈上執行交易時,燃料將按照特點的規則而逐漸被消耗。
從這一點看呢,Gas真的是和它的本意一樣,像汽車燃油一樣,想要發動汽車,必須需要燃油。
三、以太坊 Gas 和比特幣交易費有哪不同?
說到手續費,大家可能很熟悉。天下沒有免費的午餐,無論是以太坊,還是比特幣,都需要手續費,但是二者的手續費模式是不一樣的。比特幣是直接支付比特幣作為轉賬手續費的,以太坊卻不是這樣的。
以太坊本質上是一個虛擬機,這個虛擬機是去中心化的,全世界各國人民各自掌控的虛擬機,聯合起來形成一個「世界級的計算網路」。當你發送token,執行合約、轉移以太坊,或者在區塊上做其他事情時,計算機在處理這筆交易時,需要進行計算,這個計算過程需要消耗網路資源。這樣一來,你必須支付「燃料費」(也就是Gas),才能讓計算機為你工作,讓礦工為你處理交易。
通常情況下,發送方願意支付的Gas價格越高,礦工從交易中獲得的價值就越大,礦工們也就越有可能選擇這個交易。通過這種方式,礦工可以自由地選擇交易。為了給發送者設置Gas 價格做參考,礦工們可以直接提出他們執行交易所需的最低Gas 價格。
四、以太坊 Gas 的消耗量該如何計算?
以太坊虛擬機處理交易時,虛擬機會根據交易中確定的一個一個的操作指令進行逐個處理,而每個操作指令都有明文規定的Gas消耗量。
以太坊系統規定了兩個賬戶:一個是正常賬戶,一個是智能賬戶。
普通的轉賬交易,也就是調用「正常賬戶」,所需要的Gas是固定的21000;
而調用「智能賬戶」的的話,因為智能合約的復雜程度不同,使得所需要的Gas也不同。處理交易佔用的資源(計算量、內存等)越多,那麼所需要的Gas也就越多,比如:執行一次加法運算將消耗 3Gas,如果執行更復雜的運算,那麼消耗的Gas就更多。
那麼大家可能會問一個問題:當用戶的交易涉及一個惡意的智能合約,這個合約超級復雜,執行這個合約要消耗無限的燃料,怎麼辦呢?以太坊系統的方案是:為了避免惡意
智能合約引起無限的Gas消耗,用戶需要在發送交易時設定允許消耗的燃料上限,即
GasLimit,這樣一來,就算有惡意智能合約,最壞情況也只是消耗 GasLimit 所規定的燃料范圍之內。
五、以太坊 Gas 和交易手續費有什麼關系?
以太坊上,你所支付的手續費等於:GasPrice 乘以GasUsed。
你可以把 GasPrice 理解為是燃油單價, GasUsed 理解為汽車所需多少升燃油。
對於汽車,假如說每升汽油是20塊錢,一萬升汽油就是20萬塊錢。對於以太坊,每
Gas是20吉偉(吉偉是以太幣的數量單位),一萬個 Gas 就是:20乘以一萬,等於20 萬吉偉,2萬吉偉等於0.0002以太坊,也就是說,本次交易手續為 0.0002以太坊。
具體的兌換值見下表:
圖
(注釋:以太幣數量的基礎單位是「偉」,以太幣的數量單位有「偉、芬尼、以太」,其中,「以太」被用作普通交易;「芬尼」被用作微交易;「薩博」和「偉」被用作進行關於費用和合約實施。)由此我們可以發現,Gas並不是以太坊,它是一種單獨的體系,它的匯率與以太坊成一定的比例,經過了比例兌換,最終形成交易費。
具體的匯率查詢,可以查看以下網站:
https://jin10086.github.io/etherconVerter/
Gas價格和以太幣價格都是由市場自由調節的,但是二者是不一樣的,他們的不同之處在於:以太幣的價格是根據市場情況波動,而Gas的價格由礦工決定的,如果燃料價格低於礦工們的最低要求,礦工就會拒絕處理交易。Gas和以太坊分離,可以保護系統免受隨著以太坊價格的快速變化而可能出現的波動。
通常來講,大部分礦工都會選擇利益優先,處理交易時候,他們會按Gas價格從高到底排列,優先處理Gas價格高的,如果你很著急交易 ,就需要提高Gas價格,讓礦工早點看到你;如果你不著急呢,你只需要設定一個Gas價格,這個價格在礦工設置的Gas價格底線之上就行了。
六、Gas 是怎麼獲取的呢?
實際上,Gas就是從礦工那裡購買的以太幣,用戶自己賬戶中的以太幣就可以向礦工購買Gas,以太坊客戶端根據指定的交易最大支出限額,自動用以太坊購買Gas。
七、Gas 最後去了哪裡?
每筆交易,交易發起方都要設置交易的Gas限定和 Gas價格,不同的操作會產生不同的Gas成本,Gas用完時礦工將停止執行,使用的Gas會作為獎勵,獎勵給挖礦的礦工,這將涉及到幾下幾種情況:
第一種情況是,如果有剩餘Gas,那麼這些剩餘的Gas會退還給交易發起方或智能合約創建者,比如我發送1個以太坊給依依,我設置的 Gas limit 是 5萬,正常需要消耗的Gas是21000,,那麼,剩下沒有被消耗的29000會返還給我。
第二種情況是,如果我設置的Gas limit太低,或者我賬號中的以太坊不足以支付我的Gas消耗,那麼,這筆交易會因為Gas不足而被取消,並且用於計算的Gas不會退回到我的賬戶。
第三種情況是,如果交易失敗,我也必須為已經佔用的計算資源來支付手續費。
八、怎麼設置合理的 Gas 價格?
每次交易之前,可以查詢這個網站來確認需要設置的Gas價格: https://ethGasstation.info/總結一下,這篇文章我們主要介紹了以太坊的Gas和手續費:Gas相當於燃油,你在以太坊虛擬機上處理交易,會消耗計算資源,也就是Gas。在以太坊上,你所支付的手續費等於:GasPrice 乘以GasUsed,也就是:Gas的單價乘以消耗掉的Gas總量。操作的復雜程度不同,產生的Gas成本也不同,Gas用完時,礦工將停止執行,使用的Gas會作為獎勵,獎勵給挖礦的礦工,礦工會優先選擇Gas價格出的高的交易者。
8. 數字貨幣挖礦,什麼是算力挖礦算力單位怎麼換算
數字貨幣挖礦 我們經常提到的一個詞就是 礦機的算力,
比如:挖BTC比特幣的螞蟻礦機T9+ 算力10.5TH/S,
挖LTC萊特幣的螞蟻礦機L3+ 算力504MH/S,
挖LCC數字鏈的好礦機Ubuntu×64 算力180KH/S.
那究竟算力是什麼意思呢? 算力代表了什麼 算力單位是怎麼定義的呢?
其實算力的意思很簡單,他就是代表礦機的計算能力、計算性能的衡量 他具體代表的是每秒礦機的整體hash演算法運算次數。
我們先要知道挖礦的本質就是解決一個數學計算,誰先算出來誰就獲得獎勵(幣),這個數學計算方式也很簡單,就是一直不斷的嘗試碰撞結果![什麼是礦機算力?挖礦算力單位怎麼換算?
就類似於你暴力破解一個手機密碼 (假設嘗試多次手機不會被鎖),
你不斷的嘗試密碼 從 000000 ~ 999999 一個一個的嘗試直到你解鎖成功,
如果你1秒內能嘗試一次 你的算力就是1次/s ,1秒內能嘗試兩次 你的算力就是2次/s
你1秒內嘗試的次數越多你的算力就越大, 你解鎖的時間也就越短 。
礦機也是一樣, 礦機1秒內能計算的hash演算法次數越多算力越大,挖的幣越多。
最開始比特幣使用 CPU挖礦, 後來使用顯卡GPU挖礦,到現在的使用ASIC專業定製晶元挖礦,計算速度一直不斷提升
算力單位:
算力每隔千位劃為一個單位,
最小單位 H=1次 1000H = 1K 1000K = 1G 1000G = 1T 1000T = 1P 1000P=1E
S9+ 10.5T 也等於 10500G / 0.0105P
比特幣全網算力現在 24.42 EH/s 相當於232萬台S9的算力
不同幣種的算力
不同的幣種的挖礦演算法可能會不一樣
比如比特幣是sha256演算法,萊特幣是scrypt演算法, 以太坊是Ethash演算法,數字鏈是SHA-2演算法。
這就像 手機1的密碼4位隨便輸入, 手機2的密碼6位, 輸一次後 隔1s才能再次輸入, 實際比這個要復雜的多,
解鎖這兩種不同的手機的方式是不一樣的, 那我嘗試解鎖的速度也不一樣, 解鎖手機1 我會更快一點。
不用的幣種之間的算力 是沒有任何關系的, 比特幣礦機是不能挖萊特, 因為演算法不一樣, 他不會解萊特幣的題。
9. 以太坊是什麼丨以太坊開發入門指南
以太坊是什麼丨以太坊開發入門指南
很多同學已經躍躍欲試投入到區塊鏈開發隊伍當中來,可是又感覺無從下手,本文將基於以太坊平台,以通俗的方式介紹以太坊開發中涉及的各晦澀的概念,輕松帶大家入門。
以太坊是什麼
以太坊(Ethereum)是一個建立在區塊鏈技術之上, 去中心化應用平台。它允許任何人在平台中建立和使用通過區塊鏈技術運行的去中心化應用。
對這句話不理解的同學,姑且可以理解為以太坊是區塊鏈里的Android,它是一個開發平台,讓我們就可以像基於Android Framework一樣基於區塊鏈技術寫應用。
在沒有以太坊之前,寫區塊鏈應用是這樣的:拷貝一份比特幣代碼,然後去改底層代碼如加密演算法,共識機制,網路協議等等(很多山寨幣就是這樣,改改就出來一個新幣)。
以太坊平台對底層區塊鏈技術進行了封裝,讓區塊鏈應用開發者可以直接基於以太坊平台進行開發,開發者只要專注於應用本身的開發,從而大大降低了難度。
目前圍繞以太坊已經形成了一個較為完善的開發生態圈:有社區的支持,有很多開發框架、工具可以選擇。
智能合約
什麼是智能合約
以太坊上的程序稱之為智能合約, 它是代碼和數據(狀態)的集合。
智能合約可以理解為在區塊鏈上可以自動執行的(由事件驅動的)、以代碼形式編寫的合同(特殊的交易)。
在比特幣腳本中,我們講到過比特幣的交易是可以編程的,但是比特幣腳本有很多的限制,能夠編寫的程序也有限,而以太坊則更加完備(在計算機科學術語中,稱它為是「圖靈完備的」),讓我們就像使用任何高級語言一樣來編寫幾乎可以做任何事情的程序(智能合約)。
智能合約非常適合對信任、安全和持久性要求較高的應用場景,比如:數字貨幣、數字資產、投票、保險、金融應用、預測市場、產權所有權管理、物聯網、點對點交易等等。
目前除數字貨幣之外,真正落地的應用還不多(就像移動平台剛開始出來一樣),相信1到3年內,各種殺手級會慢慢出現。
編程語言:Solidity
智能合約的默認的編程語言是Solidity,文件擴展名以.sol結尾。
Solidity是和JavaScript相似的語言,用它來開發合約並編譯成以太坊虛擬機位元組代碼。
還有長像Python的智能合約開發語言:Serpent,不過建議大家還是使用Solidity。
Browser-Solidity是一個瀏覽器的Solidity IDE, 大家可以點進去看看,以後我們更多文章介紹Solidity這個語言。
運行環境:EVM
EVM(Ethereum Virtual Machine)以太坊虛擬機是以太坊中智能合約的運行環境。
Solidity之於EVM,就像之於跟JVM的關系一樣,這樣大家就容易理解了。
以太坊虛擬機是一個隔離的環境,在EVM內部運行的代碼不能跟外部有聯系。
而EVM運行在以太坊節點上,當我們把合約部署到以太坊網路上之後,合約就可以在以太坊網路中運行了。
合約的編譯
以太坊虛擬機上運行的是合約的位元組碼形式,需要我們在部署之前先對合約進行編譯,可以選擇Browser-Solidity Web IDE或solc編譯器。
合約的部署
在以太坊上開發應用時,常常要使用到以太坊客戶端(錢包)。平時我們在開發中,一般不接觸到客戶端或錢包的概念,它是什麼呢?
以太坊客戶端(錢包)
以太坊客戶端,其實我們可以把它理解為一個開發者工具,它提供賬戶管理、挖礦、轉賬、智能合約的部署和執行等等功能。
EVM是由以太坊客戶端提供的。
Geth是典型的開發以太坊時使用的客戶端,基於Go語言開發。 Geth提供了一個互動式命令控制台,通過命令控制台中包含了以太坊的各種功能(API)。Geth的使用我們之後會有文章介紹,這里大家先有個概念。
Geth控制台和Chrome瀏覽器開發者工具里的面的控制台是類似,不過是跑在終端里。
相對於Geth,Mist則是圖形化操作界面的以太坊客戶端。
如何部署
智能合約的部署是指把合約位元組碼發布到區塊鏈上,並使用一個特定的地址來標示這個合約,這個地址稱為合約賬戶。
以太坊中有兩類賬戶:
· 外部賬戶
該類賬戶被私鑰控制(由人控制),沒有關聯任何代碼。
· 合約賬戶
該類賬戶被它們的合約代碼控制且有代碼與之關聯。
和比特幣使用UTXO的設計不一樣,以太坊使用更為簡單的賬戶概念。
兩類賬戶對於EVM來說是一樣的。
外部賬戶與合約賬戶的區別和關系是這樣的:一個外部賬戶可以通過創建和用自己的私鑰來對交易進行簽名,來發送消息給另一個外部賬戶或合約賬戶。
在兩個外部賬戶之間傳送消息是價值轉移的過程。但從外部賬戶到合約賬戶的消息會激活合約賬戶的代碼,允許它執行各種動作(比如轉移代幣,寫入內部存儲,挖出一個新代幣,執行一些運算,創建一個新的合約等等)。
只有當外部賬戶發出指令時,合同賬戶才會執行相應的操作。
合約部署就是將編譯好的合約位元組碼通過外部賬號發送交易的形式部署到以太坊區塊鏈上(由實際礦工出塊之後,才真正部署成功)。
運行
合約部署之後,當需要調用這個智能合約的方法時只需要向這個合約賬戶發送消息(交易)即可,通過消息觸發後智能合約的代碼就會在EVM中執行了。
Gas
和雲計算相似,佔用區塊鏈的資源(不管是簡單的轉賬交易,還是合約的部署和執行)同樣需要付出相應的費用(天下沒有免費的午餐對不對!)。
以太坊上用Gas機制來計費,Gas也可以認為是一個工作量單位,智能合約越復雜(計算步驟的數量和類型,佔用的內存等),用來完成運行就需要越多Gas。
任何特定的合約所需的運行合約的Gas數量是固定的,由合約的復雜度決定。
而Gas價格由運行合約的人在提交運行合約請求的時候規定,以確定他願意為這次交易願意付出的費用:Gas價格(用以太幣計價) * Gas數量。
Gas的目的是限制執行交易所需的工作量,同時為執行支付費用。當EVM執行交易時,Gas將按照特定規則被逐漸消耗,無論執行到什麼位置,一旦Gas被耗盡,將會觸發異常。當前調用幀所做的所有狀態修改都將被回滾, 如果執行結束還有Gas剩餘,這些Gas將被返還給發送賬戶。
如果沒有這個限制,就會有人寫出無法停止(如:死循環)的合約來阻塞網路。
因此實際上(把前面的內容串起來),我們需要一個有以太幣余額的外部賬戶,來發起一個交易(普通交易或部署、運行一個合約),運行時,礦工收取相應的工作量費用。
以太坊網路
有些著急的同學要問了,沒有以太幣,要怎麼進行智能合約的開發?可以選擇以下方式:
選擇以太坊官網測試網路Testnet
測試網路中,我們可以很容易獲得免費的以太幣,缺點是需要發很長時間初始化節點。
使用私有鏈
創建自己的以太幣私有測試網路,通常也稱為私有鏈,我們可以用它來作為一個測試環境來開發、調試和測試智能合約。
通過上面提到的Geth很容易就可以創建一個屬於自己的測試網路,以太幣想挖多少挖多少,也免去了同步正式網路的整個區塊鏈數據。
使用開發者網路(模式)
相比私有鏈,開發者網路(模式)下,會自動分配一個有大量余額的開發者賬戶給我們使用。
使用模擬環境
另一個創建測試網路的方法是使用testrpc,testrpc是在本地使用內存模擬的一個以太坊環境,對於開發調試來說,更方便快捷。而且testrpc可以在啟動時幫我們創建10個存有資金的測試賬戶。
進行合約開發時,可以在testrpc中測試通過後,再部署到Geth節點中去。
更新:testrpc 現在已經並入到Truffle 開發框架中,現在名字是Ganache CLI。
Dapp:去中心化的應用程序
以太坊社區把基於智能合約的應用稱為去中心化的應用程序(DecentralizedApp)。如果我們把區塊鏈理解為一個不可篡改的資料庫,智能合約理解為和資料庫打交道的程序,那就很容易理解Dapp了,一個Dapp不單單有智能合約,比如還需要有一個友好的用戶界面和其他的東西。
Truffle
Truffle是Dapp開發框架,他可以幫我們處理掉大量無關緊要的小事情,讓我們可以迅速開始寫代碼-編譯-部署-測試-打包DApp這個流程。
總結
我們現在來總結一下,以太坊是平台,它讓我們方便的使用區塊鏈技術開發去中心化的應用,在這個應用中,使用Solidity來編寫和區塊鏈交互的智能合約,合約編寫好後之後,我們需要用以太坊客戶端用一個有餘額的賬戶去部署及運行合約(使用Truffle框架可以更好的幫助我們做這些事情了)。為了開發方便,我們可以用Geth或testrpc來搭建一個測試網路。
註:本文中為了方便大家理解,對一些概念做了類比,有些嚴格來不是准確,不過我也認為對於初學者,也沒有必要把每一個概念掌握的很細致和准確,學習是一個逐步深入的過程,很多時候我們會發現,過一段後,我們會對同一個東西有不一樣的理解。
10. 以太幣的發行
以太幣
天天在說的以太幣,到底是怎麼產生和發行的,這里做個簡單介紹。
首先以太坊幣是以太坊發行的一種數字貨幣,這個我想大多數人都清楚。
以太幣來源
那麼以太幣的來源包括以下幾部分:
礦前獎勵:預付款給與貢獻者6000萬個以太幣
區塊的獎勵:目前挖出一個區塊獎勵5個以太幣給礦工。
叔塊獎勵:這個和比特幣不同,礦工在挖出一個區塊後,但是並不是在主鏈上,那麼這個區塊叫做叔區。如果這個叔區塊在後續挖礦中作為叔區塊被引用了,那麼挖出這個區塊的礦工獲得7/8的區塊獎勵,也就是4.375個以太幣,且另外引用這個區塊的礦工獲得0.15個以太幣,注意,這里的引用最多兩個。
比特幣的總量是2100萬個,那麼以太幣也不是無限生成的,每年以太幣發行1800萬。之前筆者文章中有提到過,這個數字貨幣因為密鑰的丟失,所以每年的發行和意外的丟失會達到一個動態的平衡。並不是你看官方數據有多少就真正有多少在流通,這個應該能理解。
以太坊在不久將來會採用casper的機制,這個和目前的GHOST機制不一樣。具體的機制還待看。
礦工角度來看
從礦工的角度來看待以太幣,那麼就分為三塊:
挖礦的獎勵,這個還是5個以太幣。(固定收益)
交易的手續費,之前就有人一直在問萬一哪天比特幣2100萬挖完之後,挖礦如何獲得收益,那麼交易費就是其中的一項收益,以太坊上交易都會帶上交易費用,那麼這個也就是礦工的一部分所得。(動態收益)
叔區塊收益,上文就提到過的,這個區塊如果有叔區塊,那麼從叔區塊中獲得1/32個以太幣也就是0.15個以太幣的收益。且每個區塊至多引用兩個叔區塊,被引用過的區塊不能再被引用。(動態收益)
以太幣的單位:
基本單位為wei,下表具體是各個比例:
單位維度個數 (wei)
wei1 wei1000
Kwei1e3 wei1000000
Mwei1e6 wei1000000000
Gwei1e9 wei1000000000000
microether1e12 wei10000000000000000
milliether1e15 wei10000000000000000000
ether1e18 wei10000000000000000000000
叔區塊獎勵
回過頭感覺有必要再說下叔區塊的獎勵:
叔區塊顧名思義是區塊的父區塊的兄弟區塊。那麼區塊鏈只有一條主鏈,故叔區塊不在主鏈上,導致叔區塊的原因,由於是網路的延遲沒有同步,那麼一個叔區塊如果引用在有效的主鏈上,挖出叔區塊的礦工獲得4.375個以太幣(區塊獎勵的7/8)。上文說到叔區塊的引用獲得獎勵,那麼這個獎勵對挖到叔區塊的礦工也是有一個間隔層數的關系。具體如下:
間隔的層數獲取的比例以太幣
17/84.375
26/83.75
35/83.125
44/82.5
53/81.875
62/81.25
參考:《以太坊技術詳解與實戰》