- 固定的入口合約(不可升級)
- 固定的事件合約(不可升級)
- 固定的Data合約(不可升級)
- 通過Owner關係、白名單等機制控制業務邏輯合約對以上三個合約的讀寫權限
- 業務邏輯合約地址註冊到Data,業務邏輯合約地址之間的依賴通過Data中轉、解耦
- 專用的GenInfo合約,通過數組一次返回多個前端需要的數據,減少請求次數、加快頁面響應
- 全局的暫停/重啓開關,升級時使用
- 升級後舊合約應該disable掉(非suicide),不再處理相關事務
以上幾點帶來的好處:
0,業務邏輯合約可升級,且其他邏輯合約感知不到被升級的邏輯合約的升級過程
1, 前端頁面調用方便,不受升級影響
2, 所有的業務都通過入口合約轉發,方便DappReview等網站收錄交易量、用戶數等數據
3,事件合約不變,前端展示的數據不受升級影響
4,區塊瀏覽器的ParityTrace功能可以跟蹤跨合約調用,邏輯合約讀寫Data都可以跟蹤到,有助於定位問題
工具:
1,冷錢包簽名(部署合約、調用合約)
2,parity trace 解析