Transactions
為交易設置過高的氣體限制是否有缺點?
比如說,我想發送一個消耗大約 40,000 氣體的交易。我可以將交易的氣體限制設置為 100 萬,還是有一些缺點,我應該設置一個更現實的氣體限制?最後我只支付實際消費的費用,所以限額太高應該沒關係,對吧?
如果交易執行你的鏈上功能,你顯然有 100% 的信心不會花費過多的 gas,那麼唯一的缺點是你設置的 gas 限制可能會超過塊 gas 限制,在這種情況下你的交易不會被執行。
如果交易執行其他人的鏈上功能,而您可能不知道他的 gas 消耗量,那麼另一個缺點是它可能花費您比您預期的更多的成本。
簡而言之,指定gas-limit參數是為了讓你在執行別人的程式碼時保護自己。
更新:
將氣體限制設置得太高還有另一個缺點。
隨著它變得更高,礦工變得更不願意執行交易。
一般的挖礦算法我不確定,但是我相信它會選擇最高gas price和最低gas limit(最高gas price的原因很明顯,最低gas limit的原因是更多的交易可以被擠到同一個塊中)。
我從痛苦的經歷中了解到這一點,當我將 gas 限制設置為最大值(即塊 gas 限制)時,我注意到交易執行需要很長時間。