Contract-Development
在 React 乙太坊 dapp 中包含基於所有者地址的自動常式執行?
據我了解,基於反應的乙太坊 dapp 的所有前端組件都是從使用者的元遮罩預設帳戶的角度呈現的。所有對常量函式的呼叫以檢索狀態變數值並呈現相關組件以顯示給使用者,都使用使用者的帳戶。
我想要的是為其添加某種設計:
- 在後台執行的自動化常式(沒有要顯示的前端組件),它將評估狀態變數值並執行僅由所有者執行的智能合約交易。
- 這個基於所有者的事務調案常式需要在後台以自動方式永久執行,而不僅僅是當使用者在他/她的瀏覽器中打開您的網站頁面時。
舉個例子,在投票 dapp 的情況下,我想建構一個常式,一旦投了一定數量的票,或者超過了一定的時間限制,投票計算常式應該自動執行,這也是來自所有者的地址(因為只有所有者有權點票和宣布獲勝者)。
您能否詳細說明如何實施這樣的常式?我是否必須在伺服器端儲存所有者的密鑰庫文件?這是一個安全的策略嗎?謝謝。
您可以在為您的應用程序網頁提供服務的同一台伺服器上執行一個程序。該程序將讀取變數的狀態並對其執行功能做出反應。由於它在您的 PC 中執行,您可以使用所有者密鑰以安全的方式進行交易。
如果觸發器僅基於時間,這意味著您希望某個功能在經過特定時間後執行,或者通常在特定日期執行,您可以使用AION Scheduling system等服務。因為 Aion 為每個使用者創建了一個獨立的帳戶(智能合約),您可以確定如果函式來自該地址,它對應於所有者安排的函式。當特定時間或區塊到達時,AION 可以呼叫您指定的任何函式。
希望這可以幫助