Gnosis-Safe

任意數據的簽名

  • January 28, 2022

我認為保險箱的所有者不可能簽署任意數據,同時使用與執行 txs 時相同的 UI 來授予權限(例如隊列顯示需要權限的 txs)。

我正在開發一個安全應用程序,我需要所有者能夠簽署任意數據來批准某事。之後,簽名將被轉發到後端並執行一些操作。

我可以在安全應用程序中實現這一點的唯一方法是自己實現整個 UI 來管理簽名,這可能很長。另外,有兩個不同的流程 (1) 用於批准交易 (2) 用於批准任意數據可能會混淆使用者體驗。我想知道是否有任何計劃支持這樣的事情?或者還有其他方法可以實現嗎?

謝謝!

safe-apps-sdk有一種簽名消息的方法sdk.safe.signMessage

https ://github.com/gnosis/safe-apps-sdk/tree/master/packages/safe-apps-sdk#signing-messages

簽名發生在鏈上,因為保險箱沒有用於簽名數據的私鑰,並且由區塊鏈上的程式碼控制。要驗證簽名,請使用EIP-1271 定義的方法:合約的標準簽名驗證方法

您還可以從 N(= 保險箱的門檻值)保險箱所有者那裡獲取簽名,將它們連接起來並傳遞給驗證方法。它在契約級別受支持,但我們在 UI/Infra 級別不支持:

https ://github.com/gnosis/safe-contracts/blob/main/contracts/handler/CompatibilityFallbackHandler.sol#L35

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