出典:CryptoNewsNetオリジナルタイトル:TRON DAO、スケーラブルなスマートコントラクトのためのミニマルプロキシと決定論的デプロイメントを導入オリジナルリンク:## 概要* **デモはミニマルプロキシクローンを使用して、大規模なTRONスマートコントラクトの展開時のエネルギー消費を削減します。*** **CREATE2スタイルのデプロイにより、デプロイヤー、ソルト、バイトコードを使用して事前計算されたTRONコントラクトアドレスを可能にします。**TRON DAOエコシステムの開発者は、TRONネットワーク上での繰り返しスマートコントラクト作成にミニマルプロキシコントラクトと決定論的デプロイメントを適用したデモを公開しました。## 問題と解決策すべてのインスタンスのフルコントラクト展開は、ネットワークのエネルギー消費と展開コストを増加させます。デモはクローンパターンを使用して、インスタンスとロジックを分離しています。したがって、一つの実装コントラクトが実行可能なコードを保持し、各インスタンスは小さなプロキシとして動作し、delegatecallを通じて実装に呼び出しを転送し、自身のストレージを維持します。プロキシフローでは、チームが一度実装を展開し、その後ファクトリーを使用して必要に応じて新しいプロキシインスタンスを作成します。各クローンは独立したコントラクトとして機能し、プロキシがすべての状態変数を保持します。提案された実装は、所有権、権限、設定が異なる多数の類似コントラクトを持つプロジェクトに適しています。## デモアーキテクチャはTRON上にCREATE2スタイルのアドレス計画を追加提案には、CREATE2に基づく決定論的デプロイも含まれています。これにより、開発者はデプロイヤーアドレス、ソルト、バイトコードから展開前にコントラクトアドレスを計算できるようになります。TRONの実行環境とアドレスフォーマットはEthereumと異なるため、デモにはTRON互換のツールを用いた予測可能なデプロイをサポートする実験的なDeterministicDeploymentProxyコントラクトも含まれています。決定論的デプロイにより、開発者はオフチェーンでアドレスを事前に計算し、他のサービスと共有し、その後コントラクトを展開して結果のアドレスが計算値と一致するようにできます。## 実装の詳細作成におけるワークフローの標準化はファクトリーコントラクトを通じて行われます。DeployClone.solは、ミニマルプロキシ展開を発行するための主要なファクトリーであり、通常のCREATE展開または決定論的CREATE2展開を行います。デモには、Proxyの作成ロジックを含むClones.solや、TRON用に調整されたアドレス予測ツールを含むCreate2.solなどのサポートライブラリも含まれています。リポジトリはまた、イミュータブルな引数化を示しており、パラメータが展開後の操作ではなく、展開時にクローンコードに刻印される仕組みです。これにより、新しいインスタンスの設定に必要なトランザクション数が最小化され、展開と初期化のタイミング差も縮小されます。SmartSweeperAccount.solは、クローン用に設計された例示的な実装であり、TRXやTRC-20トークンの管理と掃除を行うアカウントインスタンスを示しています。これには、預金収集やトークンスイープに使用されるワークフローも含まれます。## 始め方セットアップにはNode.js、PNPMまたはNPM、TronBox、NileまたはShastaのテストネットTRXが必要です。リポジトリをクローンした後、開発者は環境テンプレートをローカルの.envファイルにコピーし、コントラクトをコンパイルし、テストネットに展開し、付属のスクリプトを使ってテストを実行できます。
TRON DAOは、スケーラブルなスマートコントラクトのための最小プロキシと決定論的デプロイメントを導入
出典:CryptoNewsNet オリジナルタイトル:TRON DAO、スケーラブルなスマートコントラクトのためのミニマルプロキシと決定論的デプロイメントを導入 オリジナルリンク:
概要
TRON DAOエコシステムの開発者は、TRONネットワーク上での繰り返しスマートコントラクト作成にミニマルプロキシコントラクトと決定論的デプロイメントを適用したデモを公開しました。
問題と解決策
すべてのインスタンスのフルコントラクト展開は、ネットワークのエネルギー消費と展開コストを増加させます。デモはクローンパターンを使用して、インスタンスとロジックを分離しています。
したがって、一つの実装コントラクトが実行可能なコードを保持し、各インスタンスは小さなプロキシとして動作し、delegatecallを通じて実装に呼び出しを転送し、自身のストレージを維持します。
プロキシフローでは、チームが一度実装を展開し、その後ファクトリーを使用して必要に応じて新しいプロキシインスタンスを作成します。各クローンは独立したコントラクトとして機能し、プロキシがすべての状態変数を保持します。提案された実装は、所有権、権限、設定が異なる多数の類似コントラクトを持つプロジェクトに適しています。
デモアーキテクチャはTRON上にCREATE2スタイルのアドレス計画を追加
提案には、CREATE2に基づく決定論的デプロイも含まれています。これにより、開発者はデプロイヤーアドレス、ソルト、バイトコードから展開前にコントラクトアドレスを計算できるようになります。TRONの実行環境とアドレスフォーマットはEthereumと異なるため、デモにはTRON互換のツールを用いた予測可能なデプロイをサポートする実験的なDeterministicDeploymentProxyコントラクトも含まれています。
決定論的デプロイにより、開発者はオフチェーンでアドレスを事前に計算し、他のサービスと共有し、その後コントラクトを展開して結果のアドレスが計算値と一致するようにできます。
実装の詳細
作成におけるワークフローの標準化はファクトリーコントラクトを通じて行われます。DeployClone.solは、ミニマルプロキシ展開を発行するための主要なファクトリーであり、通常のCREATE展開または決定論的CREATE2展開を行います。デモには、Proxyの作成ロジックを含むClones.solや、TRON用に調整されたアドレス予測ツールを含むCreate2.solなどのサポートライブラリも含まれています。
リポジトリはまた、イミュータブルな引数化を示しており、パラメータが展開後の操作ではなく、展開時にクローンコードに刻印される仕組みです。これにより、新しいインスタンスの設定に必要なトランザクション数が最小化され、展開と初期化のタイミング差も縮小されます。
SmartSweeperAccount.solは、クローン用に設計された例示的な実装であり、TRXやTRC-20トークンの管理と掃除を行うアカウントインスタンスを示しています。これには、預金収集やトークンスイープに使用されるワークフローも含まれます。
始め方
セットアップにはNode.js、PNPMまたはNPM、TronBox、NileまたはShastaのテストネットTRXが必要です。リポジトリをクローンした後、開発者は環境テンプレートをローカルの.envファイルにコピーし、コントラクトをコンパイルし、テストネットに展開し、付属のスクリプトを使ってテストを実行できます。