㈠ 以太坊發行量多少枚
以太坊沒有固定的發行數量,其會根據市場的發展情況不定時發行新的。以太坊自成立以來每年的挖礦量都無比巨大,其建立的代幣使用標准得到了虛擬貨幣市場的廣泛認可和使用,以太坊是一個公共的區塊鏈平台,其發行的以太幣成為了全球市值第二高的加密貨幣。
1 、有專門的編程語言為平台保駕護航,指引平台的正常運行;
2 、以太坊的運行速度很快,每一秒鍾能處理數十個交易;
3 、以太坊根據不同投資者的需求設置了多樣的板塊,以保證交易的公平性;
4 、以太坊的協議非常簡單,能更為市場所接受,得到大面積的 推廣 和 普及 ;
5 、以太坊的腳本語言對使用其的所有用戶都適用,沒有特殊性;
6 、以太坊的不同部分在保持著模塊化的同時還是獨立的個體;
7 、平台接納各種用法和計算樣式。
㈡ 關於交易確認數的來龍去脈
在使用 imToken 進行轉賬的時候,如果注意查看交易記錄,會看到一個進度條,進度條右邊有個如下圖所示 「4/12」 字樣的數字,並且過幾秒鍾這個數字會變為 「5/12」,「6/12」 ... 一直到 「12/12」。這里顯示的就是確認數,「4/12」 表示這筆交易需要 12 個確認,當前已經有了 4 個確認。
在 etherscan 上查看交易的時候,如果注意觀察,在 Block Height 這一欄,會顯示 xxxx(xxx block confirmations) 的字樣,在下圖這個例子中,顯示的就是 6246347(21325 block confirmations)。這裡面的 「21325 block confirmations」 就是說明該交易已經有了 21325 個區塊確認,過段時間再看同一個交易,這個確認數會不斷增加。
上面我們看到 imToken 和 etherscan 上顯示的都有交易的確認數。那麼究竟什麼是 「確認」,我們該如何理解它呢?
這就和區塊鏈的鏈式結構有關了,一個極度抽象的區塊鏈的鏈式結構是下面這個樣子的。
當我們提交一個交易,正常情況下,這個交易最終會被礦工放到某個區塊中,這個時候,我們可以說,這筆交易獲得了 0 個確認。當有另外一個區塊鏈到這筆交易所在區塊,也就是把這筆交易所在區塊為父區塊時,我們就說這筆交易獲得了 1 個確認,以此類推。一筆交易獲得了多少個確認,就是這筆交易所在區塊後面又鏈接了多少個區塊。
那問題又來了,交易被打包到交易裡面不就可以了么?為啥還要關注確認數呢?
因為區塊鏈有可能分叉啊!!!
公式很簡單:確認數 = 當前區塊高度 - 指定交易所在區塊高度
有的同學可能直接就知道怎麼做了:
有毛病么?
毛病大了
這樣去算確認數,和不算沒有區別。
正確的做法是怎樣的呢?
看到差別了么?
比特幣是 6 個確認,以太坊是 12 個確認,EOS 是 15 個確認。
一般來說,發生跨主體資產轉移的交易,最好都進行確認數監控。常見的場景是從第三方接收一筆轉賬。
像通過智能合約批量給用戶空投代幣這種場景,我看就算了吧,你說呢?
實際做項目的時候,很多同學都不知道怎麼去算這個確認數。寫下此文,希望能給你帶來一些幫助。還有什麼不清楚的,歡迎給我留言或加我微信聯系。
㈢ 以太坊礦工費給誰了
員工。一個公有鏈上, 任何人都可以讀寫數據。讀取數據是免費的, 但是向公有鏈中寫數據時需要花費一定費用的, 這種開銷有助於阻止垃圾內容, 並通過支付保護其安全性。網路上的任何節點(每個包含賬本拷貝的連接設備被稱作節點) 都可以參與稱作挖礦的方式來保護網路。由於挖礦需要計算能力和電費, 所以礦工們的服務需要得到一定的報酬, 這也是礦工費的由來。
拓展資料:
什麼是 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。
㈣ 浠ュお鍧婃槸濡備綍瑙e喅鍖哄潡閾炬墿瀹歸棶棰樼殑
浠ュお鍧婃槸濡備綍瑙e喅鍖哄潡閾炬墿瀹歸棶棰樼殑錛
鍖哄潡閾炬妧鏈鑷闂涓栦互鏉ワ紝涓鐩存槸鍩轟簬鍔犲瘑鐨勫畨鍏ㄦу拰鍘諱腑蹇冨寲鐨勭壒鎬ц璁や負鏄涓縐嶉潪甯告湁鍓嶉旂殑鎶鏈銆傚尯鍧楅摼鏈钁楀悕鐨勫簲鐢ㄥ氨鏄姣旂壒甯侊紝瀹冪殑鍒嗗竷寮忕壒鎬у彲浠ヤ繚璇佹瘮鐗瑰竵鐨勫幓涓蹇冨寲錛岄槻姝㈤粦瀹㈣鍑誨拰鏇存敼鏁版嵁錛屼絾鍏舵墿寤舵ч棶棰樹竴鐩存槸鍏蟲敞鐨勭儹鐐硅瘽棰樸
浜嬪疄涓婏紝褰撳尯鍧楅摼鎶鏈鑾峰緱浜嗘洿騫挎硾鐨勫簲鐢ㄦ椂錛屽尯鍧楅摼鎵╁規垚涓轟簡涓涓涓嶅彲閬垮厤鐨勯毦棰樸備互澶鍧婁綔涓轟竴涓鍥介檯涓婃祦琛岀殑鍖哄潡閾懼簲鐢錛屼篃闈涓寸潃鐩稿悓鐨勯棶棰樸
浠ュお鍧婇噰鐢ㄤ簡涓縐嶅彨鍋氣滃垎鐗団濈殑鎶鏈鏉ヨВ鍐沖畠鐨勬墿瀹歸棶棰樸傜畝鍗曟潵璇達紝鈥滃垎鐗団濆氨鏄灝嗘暣涓鍖哄潡閾劇綉緇滃垝鍒嗘垚澶氫釜鐩鎬簰鍏寵仈浣嗙嫭絝嬬殑瀛愮綉緇溿傛瘡涓灝忕綉緇滀腑鍙鍖呭惈閮ㄥ垎浜ゆ槗鍜屾暟鎹錛屽ぇ澶ч檷浣庝簡鏁翠釜緗戠粶鐨勮礋杞斤紝騫朵笖閫氳繃鏇撮珮鏁堢殑澶勭悊鍜岄獙璇佷氦鏄撴潵鍔犲揩緗戠粶鐨勫勭悊閫熷害銆
鍦ㄤ互澶鍧婄殑鍒嗙墖鎶鏈涓錛屾瘡涓瀛愮綉緇滄湁鑷宸辯殑鍖哄潡閾撅紝鍙浠ュ悓鏃跺伐浣滐紝姣忎釜浜ゆ槗浼氳鍒嗘暎鍒板氫釜緗戠粶涓錛屽苟鍦ㄥ氫釜緗戠粶涓鍚屾椂琚楠岃瘉銆傝繖鏍鳳紝浠ュお鍧婂彲浠ュ悓鏃跺勭悊澶氫釜浜ゆ槗錛屼粠鑰屾彁楂樹簡鏁翠釜緗戠粶鐨勪氦鏄撳勭悊鏁堢巼銆傛ゅ栵紝鍒嗙墖鎶鏈榪樺彲浠ラ氳繃緙╃煭鍖哄潡鏃墮棿鍜岄檷浣庡尯鍧楀ぇ灝忔潵榪涗竴姝ユ彁楂樼綉緇滅殑鍚炲悙閲忋
鉶界劧浠ュお鍧婄殑鈥滃垎鐗団濇妧鏈瑙e喅浜嗗叾鎵╁歸棶棰橈紝浣嗚繖縐嶆妧鏈浠嶅勪簬寮鍙戝拰鏀硅繘鐨勫垵鏈熼樁孌點傜洰鍓嶏紝浠ュお鍧婃e湪寮鍙戜竴涓鍚嶄負鈥淪erenity鈥濈殑澶у瀷鏇存柊錛岃ユ洿鏂板皢榪涗竴姝ユ彁楂樹互澶鍧婄殑鎵╁規с
鎬諱箣錛屼互澶鍧婇噰鐢ㄤ簡鍒嗙墖鎶鏈鏉ヨВ鍐沖叾鎵╁歸棶棰橈紝榪欑嶆妧鏈灝嗕互澶鍧婄綉緇滃垝鍒嗘垚澶氫釜瀛愮綉緇滐紝鍙浠ュ悓鏃墮獙璇佸氫釜浜ゆ槗錛屽苟涓旇繘涓姝ユ彁鍗囨暣涓緗戠粶鐨勫悶鍚愰噺銆備互澶鍧婄殑鈥滃垎鐗団濇妧鏈灝嗕細鏄鍖哄潡閾炬墿瀹圭殑涓澶цВ鍐蟲柟妗堛
㈤ 浠ュお鍧婃墿瀹規柟妗堟湁鍝浜
鐩鍓嶄富瑕佹湁鍏縐嶆墿瀹硅$畻鏂規堬紝鍒嗗埆鏄鍒嗙墖銆佷晶閾俱佺姸鎬侀氶亾銆丳lasma銆丷ollup銆乂alidium錛屽叾涓璕ollup鎶鏈鎵╁規柟妗堣繕鍒嗕負ZK Rollup鍜孫ptimistic Rollup銆備竴銆佸垎鐗 (sharding) 鏂規堬細鍒嗙墖灞炰簬layer1鎵╁廣傛槸鎸囧尯鍧楅摼涓嶅悓鐨勮妭鐐瑰瓙闆嗗勭悊鍖哄潡閾劇殑涓嶅悓閮ㄥ垎錛岄氳繃鍒嗗壊鏁版嵁浠ュ噺灝戝尯鍧楅摼鑺傜偣蹇呴』瀛樺偍鍜屽勭悊鐨勬暟閲忋備簩銆佷晶閾炬柟妗堬細渚ч摼鍗忚鏈璐ㄤ笂鏄涓縐嶈法鍖哄潡閾捐В鍐蟲柟妗堛傞氳繃榪欑嶈В鍐蟲柟妗堬紝鍙浠ュ疄鐜版暟瀛楄祫浜т粠絎涓涓鍖哄潡閾懼埌絎浜屼釜鍖哄潡閾劇殑杞縐伙紝鍙堝彲浠ュ湪紼嶅悗鐨勬椂闂寸偣浠庣浜屼釜鍖哄潡閾懼畨鍏ㄨ繑鍥炲埌絎涓涓鍖哄潡閾俱備笁銆佺姸鎬侀氶亾錛圫tate Channel錛夋柟妗堬細鐘舵侀氶亾鎶鏈錛屽彈鍚鍙戜簬姣旂壒甯佺殑闂鐢電綉緇溿傜姸鎬侀氶亾鏄鍥哄畾涓緇勫弬涓庤咃紙閫氬父鏄涓ゅ悕鍙備笌鑰咃級涔嬮棿鐨勫崗璁錛岀敤浠ュ疄鐜板畨鍏ㄧ殑閾句笅浜ゆ槗錛屽叾涓鏀浠橀氶亾涓撻棬鐢ㄦ潵鏀浠樸傚洓銆丳lasma鏂規堬細Plasma鐢盫italik Buterin鍜孞oseph Poon(闂鐢電綉緇滃壋濮嬩漢) 鍦2017騫村叡鍚屾彁鍑恆侾lasma鏄涓縐嶉摼涓嬩氦鏄撶殑鎶鏈錛屼粠涓涓鏂扮殑鏂瑰悜瀹炵幇浜嗙姸鎬侀氶亾錛屽畠鍏佽稿壋寤洪檮鍔犲湪浠ュお鍧婁富閾句笂鐨勫瓙閾撅紝榪欎簺瀛愰摼鍙嶈繃鏉ュ彲浠ヤ駭鐢熶粬浠鑷宸辯殑瀛愰摼錛屼粬浠鐨勫瓙閾句篃鍙浠ヤ駭鐢熶粬浠瀛愰摼銆備簲銆丷ollup鏂規堬細Rollup鏂規堝彲浠ヨ璁や負涓縐嶅帇緙╂妧鏈錛屽氱瑪浜ゆ槗鍙浠ュ帇緙╁湪涓璧鳳紙鍑犲崈絎斾氦鏄撳彲浠ヨ鎵撳寘鍒頒竴涓猂ollup鍖哄潡涓錛夛紝鏃㈣兘鍑忓皯浜ゆ槗鏁版嵁瑙勬ā錛屽張鑳介檷浣庝氦鏄撻獙璇佽礋鎷咃紝鍥犳や嬌寰椾互澶鍧婂尯鍧楅摼鑳藉勭悊鏇村氫氦鏄撱俁ollup 鏂規堣繕鍒嗕負ZK Rollup鍜孫ptimistic Rollup銆1錛塟K Rollup鏄闈犵潃鍦ㄤ富閾懼畬鎴愰浂鐭ヨ瘑璇佹槑錛岄摼涓婃棤闇鍖呭惈絳懼悕鏁版嵁錛屽洜涓洪浂鐭ヨ瘑璇佹槑灝辮凍浠ヨ瘉鏄庝氦鏄撶殑鏈夋晥涓庡惁錛屼氦鏄撴湁鏁堟у氨絝嬪埢紜璁わ紝淇濊瘉鏃犳晥鐨勭姸鎬佺粷涓嶄細鍙戠敓錛屼篃鍗蟲暟鎹鍙鐢ㄦф斁鍦ㄩ摼涓婏紝鎵浠ZK Rollups瀵規暟鎹瀛樺偍鏂歸潰涔熷甫鏉ヤ簡涓瀹氱▼搴︿笂鐨勬墿灞曟ф彁鍗囥2錛塐ptimistic Rollup 鐨勭悊蹇墊槸鐢盝ohn Adler棣栧厛鏋勬兂鍑烘潵鐨勶紝瀹冧繚鐣欎簡calldata錛屽彲浠ヤ富閾捐幏寰楁墍鏈塴ayer2鐨勬暟鎹錛屼絾閭d簺鍒鋒柊Layer-2鐘舵佺殑浜ゆ槗涓嶄細鍦ㄩ摼涓婅楠岃瘉錛屽彧璁╀富閾懼瓨鍌ㄤ竴緋誨垪鐨勫巻鍙茬姸鎬佹牴錛屾坊鍔犱簡涓涓鏂扮殑鐘舵佺殑涓孌墊椂闂達紙渚嬪 1 鍛錛夊悗鎵嶅皢鏂扮姸鎬佹渶緇堟暡瀹氾紝涔熷氨鏄鏁版嵁鍙鐢ㄦф斁鍦ㄩ摼涓嬨傚叚銆乂alidium鏂規堬細Validium鏄鐢遍浂鐭ヨ瘑璇佹槑鐮斿彂鏈烘瀯StarkWare涓誨煎紑鍙戠殑錛岄夋嫨灝唋ayer2鐨勪氦鏄撴暟鎹鏀懼湪閾句笅錛屽洜鑰屾瘮rollup鏂規堟湁鐫鏇撮珮鐨勬墿灞曟с
鎴戜滑閫氳繃浠ヤ笂鍏充簬浠ュお鍧婃墿瀹規柟妗堟湁鍝浜涘唴瀹逛粙緇嶅悗,鐩鎬俊澶у朵細瀵逛互澶鍧婃墿瀹規柟妗堟湁鍝浜涙湁涓瀹氱殑浜嗚В,鏇村笇鏈涘彲浠ュ逛綘鏈夋墍甯鍔┿
㈥ 以太坊可以「隱藏」任何一筆交易嘛
以太坊(英文Ethereum)是一個開源的有智能合約功能的公共區塊鏈平台,通過其專用加密貨幣以太幣(Ether,簡稱「ETH」)提供去中心化的以太虛擬機(Ethereum Virtual Machine)來處理點對點合約。
區塊鏈的每一筆交易都儲存在每一個以太虛擬機上,無法隱藏的。
㈦ 浠ュお鍧婄殑鎸栫熆鏂瑰紡鏄浠涔
浠ュお鍧婄殑鎸栫熆鏂瑰紡鏄浠涔堬紵
浠ュお鍧婄殑鎸栫熆鏂瑰紡鏄浠涔堬紵
浠ュお鍧婃槸涓縐嶅熀浜庡尯鍧楅摼鎶鏈鐨勫姞瀵嗚揣甯侊紝鏃ㄥ湪涓哄幓涓蹇冨寲搴旂敤鎻愪緵騫沖彴銆備笌姣旂壒甯佷竴鏍鳳紝浠ュお鍧婄殑浜ゆ槗闇瑕侀氳繃鎸栫熆鎵嶈兘寰楀埌楠岃瘉鍜岀『璁ゃ傞偅涔堜互澶鍧婄殑鎸栫熆鏂瑰紡鏄浠涔堝憿錛
浠ュお鍧婄殑鎸栫熆鏂瑰紡涓庢瘮鐗瑰竵鏈夊緢澶氱浉浼間箣澶勶紝閮芥槸閫氳繃瑙e喅鏁板﹂棶棰樻潵鑾峰緱姣旂壒甯佹垨浠ュお甯併傝繖浜涢棶棰橀渶瑕佺殑璁$畻璧勬簮闈炲父楂橈紝鍥犳ら渶瑕佸ぇ閲忕殑鐢靛姏鍜岃$畻鑳藉姏銆
浠ュお鍧婇噰鐢ㄧ殑鏄宸ヤ綔閲忚瘉鏄庯紙ProofofWork錛夌殑綆楁硶錛屽嵆ETHash銆備笌姣旂壒甯佹寲鐭跨殑SHA-256綆楁硶涓嶅悓錛孍THash綆楁硶鏄鍩轟簬DAG鍥懼艦鐨勮$畻銆侱AG鍥炬槸涓縐嶆湁鍚戞棤鐜鍥撅紝鐢變互澶鍧婂垵濮嬪潡鐢熸垚錛屾瘡涓鏂扮殑鍖哄潡閮藉熀浜庡墠涓涓鍖哄潡鐨凞AG榪涜岃$畻銆傚洜姝わ紝綆鍗曞湴璇達紝浠ュお鍧婃寲鐭塊渶瑕佽В鍐矰AG鍥懼艦鐨勮$畻闂棰樸
鍏蜂綋鏉ヨ達紝浠ュお鍧婄殑鎸栫熆榪囩▼鏄榪欐牱鐨勶細
1.鎸栫熆鑺傜偣鍦ㄧ綉緇滀笂鑾峰緱鏂扮殑浜ゆ槗淇℃伅銆
2.鎸栫熆鑺傜偣灝嗚繖浜涗氦鏄撲俊鎮鎵撳寘鎴愪竴涓鍖哄潡銆
3.鎸栫熆鑺傜偣浠庝互澶鍧婄綉緇滆幏鍙栧埌鍓嶄竴鍖哄潡鐨凞AG鍥俱
4.鎸栫熆鑺傜偣浣跨敤DAG鍥句笂鐨勮妭鐐硅繘琛岃$畻錛屼互鐢熸垚鏂扮殑鍖哄潡銆
5.鎸栫熆鑺傜偣閫氳繃緗戠粶灝嗘柊鐨勫尯鍧楀彂閫佸埌鍏朵粬鑺傜偣榪涜岀『璁ゃ
6.鍏朵粬鑺傜偣涔熼渶瑕佽В鍐矰AG鍥懼艦鐨勮$畻闂棰橈紝浠ョ『璁よ繖涓鏂扮殑鍖哄潡鏄鍚﹀悎娉曘
7.濡傛灉鍏朵粬鑺傜偣楠岃瘉閫氳繃錛屽垯榪欎釜鏂扮殑鍖哄潡灝變細琚娣誨姞鍒頒互澶鍧婄殑鍖哄潡閾句笂銆
浠ュお鍧婄殑鎸栫熆榪囩▼鍙鑳芥瘮姣旂壒甯佹洿涓哄嶆潅錛屽洜涓哄畠闇瑕佽В鍐矰AG鍥懼艦鐨勮$畻闂棰樸傝繖涔熸剰鍛崇潃浠ュお鍧婄殑鎸栫熆闇瑕佹洿楂樼殑綆楀姏鍜屾洿澶х殑鐢靛姏鏀鎸併備絾涓庢ゅ悓鏃訛紝浠ュお鍧婄綉緇滀篃鍏峰囦簡鏇撮珮鐨勫畨鍏ㄦу拰鍙闈犳э紝鍥犱負瀹冮渶瑕佹洿澶氱殑鑺傜偣鍙備笌瑙e喅璁$畻闂棰樸
鎬葷殑鏉ヨ達紝浠ュお鍧婄殑鎸栫熆鏂瑰紡鏄宸ヤ綔閲忚瘉鏄庣畻娉曪紝浣跨敤鐨勬槸ETHash綆楁硶錛岄渶瑕佽В鍐矰AG鍥懼艦鐨勮$畻闂棰樸傝繖縐嶆寲鐭挎柟寮忛渶瑕佹洿楂樼殑璁$畻鑳藉姏鍜岀數鍔涙敮鎸侊紝浣嗕篃涓轟互澶鍧婄綉緇滄彁渚涗簡鏇撮珮鐨勫畨鍏ㄦу拰鍙闈犳с
㈧ Gas 機制是如何運作的
以太坊是目前第二大公鏈,它和比特幣不一樣,以太坊上的可以實現的功能更多,如果比特幣是一個可以進行加減乘除的計算器,那麼以太坊就是一台功能完備的計算機。以太坊系統的復雜度超過比特幣好幾個數量級。
在以太坊中,用戶可以自己寫一個智能合約,然後把智能合約放到以太坊中執行。智能合約的執行需要消耗資源,而以太坊上的資源是有限的。
在計算機系統中,停機問題(https://zh.wikipedia.org/wiki/停機問題)目前還沒有辦法完全證明。這個問題簡單來說就是沒辦法判斷一個程序是否能夠在有限的時間內結束運行。
如果一個用戶提交了一個死循環程序到以太坊中,那麼就會無限的執行下去,從而將以太坊網路擊垮。而使用 gas 機制則可以解決這個問題,智能合約中,每段代碼的執行都會消耗一定量的 gas,在用戶提交交易的時候需要指定好。如果 gas 消耗完了,那麼智能合約就必須停止,交易也會被撤銷,如果智能合約執行完成, gas 還有剩餘,就會退還給用戶。
需要特別說明的是,即使交易失敗,用戶也需要支付 gas 費用,因為以太坊為這些錯誤的交易也付出了計算資源。
除了這點之外,gas 還可以用來激勵礦工,用戶提交交易所消耗的 gas 費用最後都會給到礦工,礦工會優先去打包那些提供了更高 gas 價格的交易,在以太坊中,如果希望自己的交易早點被打包,可以設置更高的 gas 價格。
g as 機制是以太坊系統的命脈。
gas 本質就是維護以太坊網路安全,這是從兩個方面來做到的,一方面通過 gas 來衡量計算量,一方面使用 gas 來吸引更多的礦工,礦工的數量越多,以太坊網路就越安全。
gas 只能用於交易中,用戶不會接觸到 gas,gas 會在交易的提交的時候直接通過以太幣來兌換。
智能合約中,每個操作都會消耗一定的 gas 。每個操作都對應一個 Opcode,下面是一些常見的 gas 消耗,完整的 gas 消耗說明看這里:https://github.com/crytic/evm-opcodes
以太坊中的交易最後會被確認,打包成區塊,這樣交易才算是完成,但是在一個區塊中,可以打包的交易是有限的,以太坊通過 gas 來限制可以打包的交易數。這樣就讓被打包的機會成為了一個稀缺的資源。
用戶提交一個交易後,gas 量可以看做是一個固定的值,礦工為了做到最大收益,就會選擇那些 gas 價格更高的交易。
很多以太坊的用戶經常吐槽 gas 費過高,其實這里的過高不是指 gas 本身過高,而是指 gas 對應的以太坊價格過高。
因為 Gas 的價格不是固定的,而是波動的,簡單來說就是根據供需關系來決定的,如果同時需要用以太坊的用戶多,那麼Gas 的價格就貴,如果用戶的人少,那麼 Gas 的費用就會少。
以太幣的最基本單位是 wei,1 ETH = 10 ^18 wei,而衡量 gas 價格的單位則是 gwei,1 ETH = 10 ^ 9 gwei。
在提交交易的時候,需要設定兩個參數,一個是 gas 的最大消耗量(gas limited)和 gas 的價格,gas 的消耗量通常情況下會比較固定,不會有太大的變化,主要是 gas 的價格會波動很大。
在上面我們說到礦工會挑選那些 gas 費用比較高的交易進行打包。所以 gas 的價格設置得越高,那麼總的 gas 費用就會越高。如果想讓當前的交易盡快被確認,那麼就需要設置一個當前相對來說比較高的 gas 價格。
其實對當前 gas 價格最清楚的就是那些礦工,所以礦工們也提供了一些服務,讓用戶可以實時地了解到當前 gas 價格的分布。比如 GasNow 就是一個比較常用的服務,現在很多錢包中都在使用這個來為錢包的用戶提供 gas 價格建議。
如果你提交的交易不緊急,那麼使用當前的平均 gas 價格就可以,如果需要提交緊急的交易,那麼就需要設置更高的 gas 價格。
文 / Rayjun