Solidity

智能合約是否有可能根據乙太坊的目前價值調整其條件?

  • August 3, 2017

我問這個是因為我想為一個類似於 Kickstarter 的平台創建一個眾籌智能合約。在這一點上,我希望合約籌集的唯一加密資產是乙太幣,未來有可能整合其他 ERC20 代幣。我現在試圖克服的問題是價格波動。例如,如果客戶想在 30 天的眾籌期間和項目上市當天籌集價值 10,000 英鎊的 ETH,則 ETH 的價值為 100 英鎊,那麼合約成功需要 100 ETH . 但是,如果在眾籌結束時,乙太幣的價格下降 20%,那麼客戶將只能獲得價值 8,000 英鎊的乙太幣。另一個問題是,如果價格在項目結束前急劇上漲,可能會將里程碑設置得太高並破壞項目。

我想要一種基於乙太幣目前價格每 5 分鐘左右更新一次合約的方法,以解決波動性問題。例如,如果價格上漲 20%,那麼每個 ETH 將價值 120 英鎊,乘以 100 是 12,000 英鎊,這可能太多了。發生這種情況時,如果合約能夠以某種方式更新並根據一些簡單的計算調整目標目標(英鎊的目標目標 / 1 ETH 到 GBP = ETH 的目標目標),那將是理想的。我想實現這樣一個功能,以便為 ETH 相對於英鎊(或其他法定貨幣)的目標增加一些穩定性。

我見過類似的實現,可以根據其他加密資產的價值更新合約,例如:Oracilize,它能夠檢查 Kraken 的價格,但對法定貨幣卻沒有。

您可能可以使用預言機(參見例如 www.oraclize.it,但其他存在)來獲取區塊鏈中的乙太幣價格。

請注意,您似乎會讓您的客戶以乙太幣支付,而眾籌者將以英鎊支付。您想以英鎊為單位固定價格,但乙太幣的波動性可能會導致您的客戶要麼獲得過多的乙太幣(如果在眾籌期間乙太幣價格上漲)或不夠多。

避免這種情況的唯一方法是在獲得客戶的乙太幣後立即將其轉換回英鎊,但是首先將英鎊轉換為乙太幣是沒有意義的。

如果你想將你的合約與乙太幣兌美元的價格變化聯繫起來,你需要使用一個 dApp,它會以你選擇的定期頻率更新你的合約中的價值,或者乙太幣兌美元的變化量。

引用自:https://ethereum.stackexchange.com/questions/23576