Solidity

契約如何進行定期付款?

  • May 27, 2018

我需要創建一個契約,根據使用者的請求進行定期付款,契約將要求使用者告訴發送者和接收者地址,它會以經常性的方式將一定數量的 erc20 代幣從發送者轉移到接收者——也許每個月,或每天。

我正在閱讀乙太坊鬧鐘,到目前為止我的理解是它會安排交易稍後執行,但它可以重複嗎?像每2個月?

快速啟動連結或建議將不勝感激,非常感謝!

合約只有在區塊鏈之外的東西呼叫它們時才能執行。我可以想到三個可能願意每 2 個月呼叫一次合約的實體:

  1. 發件人可能願意這樣做,例如,如果未發送付款,他們將停止接收某些服務。
  2. 收件人可能願意這樣做,以便他們獲得報酬。
  3. 如果第三方得到補償,他們可能願意這樣做。(這就是乙太坊鬧鐘的工作原理。)

如果我是你,我只會讓任何人都可以呼叫該函式,並設置接收者必須呼叫該函式才能獲得報酬的期望。對於不願意的收件人,發件人可以自己做,也可以激勵第三方做。

你不能在本地做到這一點。

ETH時間

口頭禪

乙太坊鬧鐘(這已經很長時間沒有活動了,“Chrono-Logic”正在這個基礎上建構)

ETH-Tempus 是最簡單、最便宜的。與 oraclize 的不同之處在於 ETH-Tempus 的 gas 消耗更低,更重要的是,在 oraclize 中你是提前付款的,如果你沒有完全使用,你傳遞給他們的 gas 是不會返還的。

請注意,ETH-Tempus 僅具有調度未來任何時間呼叫的功能,而 oraclize 具有許多其他功能。

在 ETH-Tempus 中:

  1. 當您的契約被呼叫時,付款就完成了。
  2. 天然氣消耗更便宜。
  3. 天然氣消耗量是線上估算的,您只需支付計算出的費用外加約 5 美分美元的費用。
  4. 使用簡單(查看 GitHub 上的範例)

免責聲明:我為 ETH-Tempus 編寫了程式碼,可以在測試網路(rinkeby)中免費測試。我創建它是因為我看到很多人都在尋找它,而我發現的解決方案要麼複雜要麼太昂貴,以至於在您需要大量呼叫的情況下無法實際考慮。(就像每隔一段時間重複呼叫)

希望這可以幫助

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