TRON DAO 推出最小代理和確定性部署以擴展智能合約

來源:CryptoNewsNet 原始標題:TRON DAO 引入最小代理與確定性部署以擴展智能合約 原始連結:

概述

  • 演示使用最小代理克隆來降低在大規模部署重複TRON智能合約時的能源消耗。
  • CREATE2風格的部署使得可以利用部署者、鹽值和字節碼預先計算TRON合約地址。

TRON DAO 生態系統的開發者已發布一個演示,應用最小代理合約和確定性部署來實現TRON網絡上重複智能合約的創建。

問題與解決方案

每個實例的完整合約部署會使網絡消耗更多能源且部署成本更高。該演示通過克隆模式將實例與邏輯分離。

因此,一個實現合約持有可執行的代碼,而每個實例則是一個小型代理,通過 delegatecall 將調用轉發到實現合約,並維護自己的存儲。

在代理流程中,一個團隊部署一次實現合約,然後使用工廠根據需要創建新的代理實例。每個克隆都作為獨立的合約運行,代理存儲所有狀態變數。該方案適用於擁有大量相似合約、但所有權、權限或設置不同的項目。

演示架構新增CREATE2風格的TRON地址規劃

該方案還包括基於CREATE2的確定性部署。這將使開發者能夠在部署前,根據部署者地址、鹽值和字節碼預先計算合約地址。由於TRON的執行環境和地址格式與以太坊不同,演示中還包含一個實驗性的DeterministicDeploymentProxy合約,以支持與TRON兼容的可預測部署工具。

通過確定性部署,開發者可以在鏈外預先計算地址,與其他服務共享,並在稍後部署合約,使生成的地址與預先計算的值一致。

實作細節

創建流程的標準化通過工廠合約實現。DeployClone.sol是主要的工廠,用於發行最小代理部署,包括普通CREATE部署和確定性CREATE2部署。演示還包括支持庫,如Clones.sol,包含創建代理的邏輯,以及Create2.sol,提供經過修改以支持TRON的地址預測工具。

該倉庫還展示了不可變參數化,即將參數直接印入部署的克隆代碼中,而非在部署後的操作中賦值。這樣可以最小化配置新實例的交易數量,並縮短部署與初始化之間的時間差。

SmartSweeperAccount.sol作為一個示例實現,專為克隆設計。它展示了能管理和清掃TRX及TRC-20代幣的帳戶實例,包括用於存款收集和代幣清掃的工作流程。

入門指南

為了設置,演示需要Node.js、PNPM或NPM、TronBox,以及用於Nile或Shasta測試網的TRX。克隆倉庫後,開發者可以將環境範本複製到本地的.env文件,編譯合約,部署到測試網,並使用包含的腳本運行測試。

TRX1.14%
ETH-4.42%
TOKEN-10.32%
查看原文
此頁面可能包含第三方內容,僅供參考(非陳述或保證),不應被視為 Gate 認可其觀點表述,也不得被視為財務或專業建議。詳見聲明
  • 讚賞
  • 8
  • 轉發
  • 分享
留言
0/400
半仓就跑vip
· 01-16 18:04
又是這種優化層面的更新,CREATE2能省多少油費啊?真實數據出來了沒
查看原文回復0
Degentlemanvip
· 01-16 16:55
又來搞什麼黑科技?minimal proxy 聽著就玄……不過要真能降能耗我得關注一下
查看原文回復0
Tokenomics_Detectivevip
· 01-13 23:01
又是proxy又是create2,tron這套東西靠譜嗎?
查看原文回復0
SchroedingerGasvip
· 01-13 23:00
又是那套東西,minimal proxy這套早就有了啊,TRON這是在自我複製嗎?
查看原文回復0
Liquidity_Huntervip
· 01-13 22:53
這minimal proxy聽起來不錯,但真正能降低gas費嗎...
查看原文回復0
幽灵钱包侦探vip
· 01-13 22:47
這minimal proxy搞法確實狠,不過tron這波會不會又是紙面優化啊,實際跑起來怎麼樣得看真實鏈上數據
查看原文回復0
LiquidityLarryvip
· 01-13 22:46
minimal proxy這玩意兒聽起來又是那種"聽起來很牛逼實際能不能用還不知道"的東西...TRON又開始折騰新花樣了
查看原文回復0
TokenUnlockervip
· 01-13 22:44
minimal proxy 這東西聽起來不錯,但真正能省多少gas啊,實際用起來呢?
查看原文回復0
交易,隨時隨地
qrCode
掃碼下載 Gate App
社群列表
繁體中文
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)