Contract-Development
預設的 Oraclize gas 價格是否會隨時間變化?
oraclize 回調的預設 gas 價格是否會隨著時間調整?
在文件中它說:
如果沒有指定設置,Oraclize 將使用預設值 200,000 gas 和 20 GWei。最後一個值目前處於定價範圍的高端,但它有助於在網路範圍內的擁塞期間獲得更快的確認時間。
這個 20 GWei 的預設 gas 價格是永遠固定的嗎?如果需求激增而 20 GWei 太低會發生什麼,我的合約會永遠等待 oraclize 的回調嗎?
此外,如果我使用
oraclize_setCustomGasPrice
一次,如何將 gas 價格重置為預設值?我的意思是我總是可以這麼說oraclize_setCustomGasPrice(20000000000)
,但是這個設置只有在預設的 gas Price 永遠保持 20 Gwei 的情況下才有效。因此,如果它確實發生了變化,我的契約現在怎麼可能呢?
在實踐中,Oraclize 似乎永遠不會改變這個值,但理論上他們可以。如果值太低,那麼正如您所建議的那樣,您的契約將永遠無法通過回調。在這種情況下,他們可能會提高預設值。
入侵他們系統的人也可能更改該值,因此,如果您的契約本質上還不能被 Oraclize 耗盡(例如,如果您有一個任何人都可以呼叫的彩票契約,並且您可能會這樣)重新依賴它們來獲取隨機數),值得將其視為不受信任的輸入,並儘你所能確保它在合理的範圍內。
這樣做時,請記住攻擊者可以重複呼叫它,並且攻擊者同時是攻擊交易的發送者和該交易的礦工,所以即使你可以確保你的金額是不安全的真的是送上氣。