❶ 以太坊錢包不更新
網路不順暢或其它。
節點同步慢原因以及解決方法:1、以太坊錢包節點同步需要聯網操作,如果你的網路不暢通就會造成同步慢這種情況,所以在同步之前請檢查好你的網路,確認網路狀況良好在進行同步。2、節點同步需要佔用大量的內存,如果你的電腦內存不夠就會造成階段同步慢甚至停止同步這種情況,建議用戶在同步節點之前清理一下電腦保證電腦內存充足,目前有用戶反映同步節點內存最高可佔用100G左右內存哦。3、可以在以太坊錢包中修改peer數,默認peer是25個,建議你可以修改成巨大的數值,例如9999個。4、同步階段還需要你的路由器支持uPnP。可以在路由器設置中修改。5、需要公網IP,如果你沒有的話就會慢很多,所以建議設置一個公網IP吧。6、也有網友反映是錢包本身的問題,以太坊錢包軟體本身並不是很成熟,在同步節點的時候會有很多問題出現,這個只有等待以太坊官方修改。7、電腦配置不能太低。8、第一次同步時使用--fast選項,可以更快地同步到最新塊。9、使用的是geth,運行時間長了可能會有問題,可以考慮每天重啟一次geth。10、及時更新geth到最新版本。11、硬碟空間要足夠大,建議至少1T以上。為了運行以太坊全節點,買了500G的硬碟空間,使用--fast同步完成後才佔40多G空間,之後正常模式同步硬碟佔用空間快速增長,3個月左右已經430G了,最近又買了500G磁碟空間。12、交易未被打包時,相同nonce值可以覆蓋之前的交易,覆蓋交易只看nonce值,至於交易的其它部分內容可以相同也可以不同。13、如果有低nonce值還未被打包,新的交易gasPrice再高,也需要先等低nonce值的交易被打包,如果低nonce值的交易因為gasPrice設低了而等待,需要先使用相同nonce值來修改gasPrice。
以太幣(ETH)是以太坊的一種加密數字代幣,被視為「比特幣2。0版」,創始人是傑弗里_維爾克。
❷ 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
❸ 以太坊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價格出的高的交易者。
❹ ethermine怎麼設置
ethermine設置方法:
登錄好後,選擇ECS購買,開始配置。
補充:如果這里沒有ubuntu 18.04或20.04,可以選debian 9.9。
阿里雲真是坑,這么常用的一個系統突然就不見了。
注意硬碟一定要改成20G,這樣便宜。
選擇好後點擊下一步,進行如下配置。
然後點擊新建安全組,加入14444埠和5555埠,並在上圖中選擇新建的這個安全組。
然後設置一個密碼,就可以直接確認訂單了,後面無需特別配置,保持默認就好。
稍微等一會,等伺服器初始化完成後,進入後台。
點擊遠程連接,選擇立即登錄。
輸入剛才自己設置的密碼登錄。
總結如下:
置采礦設備–要開始采礦,您需要一個由顯卡或專門為以太坊設計的ASIC(特殊應用集成電路)組成的采礦設備。別忘了購買一個合適的電源設備和冷卻系統,以確保穩定的電源連接並避免過熱。
設置您的以太坊錢包–在挖礦之前,請准備好您的錢包,您將在其中存放所有挖掘到的加密貨幣。試試我們的以太坊錢包,您可以在其中為任何您覺得方便的平台(iOS,Android或台式機)存儲和管理代幣。
設置特殊軟體-在這里您有兩個選擇-使用專用的命令挖掘器或GUI挖掘器。第一個比較復雜,但是靈活且可自定義,而第二個非常適合新手。
❺ 以太坊的gas費被誰賺了
gas主要是被消耗了,收益比較少。
Gas費的組成主要有以下幾個要素:GasFeeCap、GasPremium、GasLimit、GasUsed、BaseFee。
GasLimit是消耗資源的最大限制,GasFeeCap是用戶所能支付給礦工的最大單價限額。在Filecoin鏈上,在打包前要檢查賬戶是否有足夠的余額,不然交易不會被打包。所以GasLimit和GasFeeCap可以得到用戶的最高能支付的費用,是用戶自主設置的。但要注意的是,GasLimit不要隨意設置,多餘的GasLimit會被燃燒一部分,這是和ETHGas費機制最大的不同點。
BaseFee相當於一個基礎價位,同樣用汽車燃料費來看,可以理解為政府根據整個市場的交易情況設置了一個油價,這個價位會浮動,因此這里起到的類似於一個宏觀調控的作用。同樣也可以比喻為計程車的起步價,如果用戶不願意支付起步價,司機就不願意載人,因此如果用戶想要乘車就必須接受起步價,而這個起步價在FilecoinGas費中就是BaseFee。當然在Filecoin中這個起步價是動態的,當總GasLimit超過某個區塊(網路擁塞信號)的GasLimit目標時,它將增加;低於GasLimit目標時將降低。換句話說,在區塊擁堵或者區塊交易不夠的情況下,BaseFee都會按照12.5%進行相應的調節。
GasPremium在這個機制里被描述為小費,即在網路擁堵的情況下支付給礦工的小費,這個也意味著礦工有優先選擇權。如果你支付了GasPremium,礦工就會優先打包你區塊的數據。最終給到礦工的酬勞是小費(GasPremium)*最大消耗量(GasLimit)
❻ 【ETH錢包開發03】web3j轉賬ETH
在之前的文章中,講解了創建、導出、導入錢包。
【ETH錢包開發01】創建、導出錢包
【ETH錢包開發02】導入錢包
本文主要講解以太坊轉賬相關的一些知識。交易分為ETH轉賬和ERC-20 Token轉賬,本篇先講一下ETH轉賬。
1、解鎖賬戶發起交易。錢包keyStore文件保存在geth節點上,用戶發起交易需要解鎖賬戶,適用於中心化的交易所。
2、錢包文件離線簽名發起交易。錢包keyStore文件保存在本地,用戶使用密碼+keystore的方式做離線交易簽名來發起交易,適用於dapp,比如錢包。
本文主要講一下第二種方式,也就是錢包離線簽名轉賬的方式。
交易流程
1、通過keystore載入轉賬所需的憑證Credentials
2、創建一筆交易RawTransaction
3、使用Credentials對象對交易簽名
4、發起交易
注意以下幾點:
1、Credentials
這里,我是通過獲取私鑰的方式來載入 Credentials
還有另外一種方式,通過密碼+錢包文件keystore方式來載入 Credentials
2、nonce
nonce是指發起交易的賬戶下的交易筆數,每一個賬戶nonce都是從0開始,當nonce為0的交易處理完之後,才會處理nonce為1的交易,並依次加1的交易才會被處理。
可以通過 eth_gettransactioncount 獲取nonce
3、gasPrice和gasLimit
交易手續費由gasPrice 和gasLimit來決定,實際花費的交易手續費是 gasUsed * gasPrice 。所有這兩個值你可以自定義,也可以使用系統參數獲取當前兩個值
關於 gas ,你可以參考我之前的一篇文章。
以太坊(ETH)GAS詳解
gasPrice和gasLimit影響的是轉賬的速度,如果gas過低,礦工會最後才打包你的交易。在app中,通常給定一個默認值,並且允許用戶自己選擇手續費。
如果不需要自定義的話,還有一種方式來獲取。獲取以太坊網路最新一筆交易的 gasPrice ,轉賬的話, gasLimit 一般設置為21000就可以了。
Web3j還提供另外一種簡單的方式來轉賬以太幣,這種方式的好處是不需要管理nonce,不需要設置gasPrice和gasLimit,會自動獲取最新一筆交易的gasPrice,gasLimit 為21000(轉賬一般設置成這個值就夠用了)。
這個問題,我想是很多朋友所關心的吧。但是到目前為止,我還沒有看到有講解這方面的博客。
之前問過一些朋友,他們說可以通過區塊號、區塊哈希來判斷,也可以通過Receipt日誌來判斷。但是經過我的一番嘗試,只有 BlockHash 是可行的,在web3j中根據 blocknumber 和 transactionReceipt 都會報空指針異常。
原因大致是這樣的:在發起一筆交易之後,會返回 txHash ,然後我們可以根據這個 txHash 去查詢這筆交易相關的信息。但是剛發起交易的時候,由於手續費問題或者乙太網絡擁堵問題,會導致你的這筆交易還沒有被礦工打包進區塊,因此一開始是查不到的,通常需要幾十秒甚至更長的時間才能獲取到結果。我目前的解決方案是輪詢的去刷 BlockHash ,一開始的時候 BlockHash 的值為0x00000000000,等到打包成功的時候就不再是0了。
這里我使用的是rxjava的方式去輪詢刷的,5s刷新一次。
正常情況下,幾十秒內就可以獲取到區塊信息了。
區塊確認數=當前區塊高度-交易被打包時的區塊高度。