[自問自答] 使用metamask遇到的疑難雜症

in cn •  6 years ago 

metamask是我最近開始使用一些DAPP才開始接觸的,去年以太貓剛出現時有使用過,但那時可能因為塞車的關係,對gas概念也不清楚,發送的eth一直沒傳出去,我就覺得很難用,索性不爽買了,也錯過了買以太貓最好的時機.....,最近使用上還是有碰到些問題,發現中文網頁沒什麼人再問,想說難道只有我疑問嗎....就決定獻醜分享一下了XD。

關於metamask如何安裝,已經有很多網頁有介紹,只要google就能goo到,提供google第一頁給大家,
https://goo.gl/u1wHEf
這邊就不多介紹了,我使用metamask目前遇到的問題其實也只有兩個啦,身為一個一般的使用者我也不會解釋hardcore的原因,所以就從實際使用面速戰速決說明過去吧XD

問題一:一次只能傳送一個?

因為我常把gas設低,省手續費,沒這麼急迫的就會放著想說等幾天也沒關係,但有次想要趕快丟ETH到某個地方,GAS給足後發現還是等了好久,才知道原來如果前面的nonce沒有完成的話,後面設再高的GAS也不會送出去,也就是我388沒完成傳輸的話,389,390無論如何也不可能送出去的,我印象中有看過會這樣設計是為了避免雙花問題?太hardcore的問題我就跳過了XD 大家可以自己搜尋看看,作為一般使用者我只要知道目前的技術沒有辦法一次傳送兩個以上就好了0.0

未命名.png

問題二:怎麼取消傳輸?

這個問題延伸自第一個問題,因為我太常玩一些微不足道的APP,之前手續費爆高的時候,我還是設很低的gas,果然世界是現實的,放了4-5天,礦工還是連鳥都不鳥,但總不能要我調高GAS付個好幾百塊只為了一個攻擊的動作吧....於是我就在想要怎麼取消?
有的,我確實有找到一個中文說明的網頁:https://zhuanlan.zhihu.com/p/33874609
但還要用到myetherwallet,我覺得好麻煩XD,於是喜歡投機取巧的我就想到可以利用調整gas limit讓它毀約(?)反正上面網址介紹的也是要把GAS提高去攔截,一樣要花到錢,那我想我這樣做應該也是可行的吧!結果也確實可行~在這裡說明一下gas limit跟gas到底是什麼,雖然這個也有中文網頁介紹,但我還是花了點時間才知道是怎麼運作的= =。所以以下我就只講我想解釋的部分且自己可以理解的方式XD,想知道更多可以再自己google

未命名1.png

1.gas limit基本上matamask都會幫你預設好了,它的數值是受你要執行的東西複雜程度而定的。 你可以把它想成是你的汽車,你如果沒幫他們加滿油,就是沒辦法開,benz可能需要50000,honda只要25000(純舉例,我不懂車,不要戰我)。

2.gas price就是你願意為每一公升汽油付多少錢?願意付越高,員工當然盡速幫你處理,付太少就慢慢等員工姍姍來遲吧,以太的世界很現實的。因以太坊現階段能處理的量是有限的,所以到底該設多少可以參考https://ethgasstation.info/ 的資訊,SaleLow代表員工一定會過來處理,但可能會慢一點,想要快一點的話就設8吧~兩分鐘內到府服務處理到好。
未命名2.png

3.gas used by txn:代表的是雖然你gas limit設29000,但實際上可能不需要這麼高,實際上只要23831就好了。可是你如果設得太高或太低的話,員工看一眼就知道你就是來亂的,你就會被拒絕,不過你還是會被收手續費但車沒辦法開(誰叫你還要讓我跑過來看),所以你想要好好加油加滿就乖乖用metamask預設或官方給你的數字就好。

.來亂的示意圖
未命名5.png

4.Actual Tx cost/fee:所以你實際花的錢等於 23831 x 0.000000003 = 0.000071493 約台幣1.2塊你就可以好好把車開出去囉。

好的,講了這麼多所以到底要怎麼取消?其實答案就在第3點裡面了R,假設今天gas要100,員工才會鳥你,車要加滿到148579才開得出去,等於要花7.39 USD,可是你現在壓根不想開這台車了,想開別台車,
這時候只要把gas limit調低,讓員工知道你是來亂的(不過你還是得付1.42USD的費用,但比起7.39USD至少省很多了!),這個nonce等於執行完了,你就可以開別台車了。

未命名3.png未命名4.png
以上,大概就是這樣,不知道實不實用,對我來說蠻實用的啦XD,如果有更好的方法也提供給我,3Q

Authors get paid when people like you upvote their post.
If you enjoyed what you read here, create your account today and start earning FREE STEEM!