Doppler Protocol: コアコントラクトでDeFiをパワーアップ
Doppler Protocolは、分散型金融(DeFi)の可能性を最大限に引き出すための重要なインフラストラクチャです。この記事では、Doppler Protocolのコアコントラクトの概要、使い方、テスト、そしてデプロイ方法について解説します。
Doppler Protocol: コアコントラクトでDeFiをパワーアップ
Doppler Protocolは、分散型金融(DeFi)の可能性を最大限に引き出すための重要なインフラストラクチャです。この記事では、Doppler Protocolのコアコントラクトの概要、使い方、テスト、そしてデプロイ方法について解説します。
Doppler Protocolとは?
Doppler Protocolは、特定の機能を提供する一連のスマートコントラクトです。これには、エアロックコントラクトも含まれます。GitHubリポジトリで公開されており、誰でも利用できます。
Doppler Protocolの利用方法
インストール
まず、Foundry がインストールされていることを確認してください。 Foundryは、スマートコントラクトの開発、テスト、およびデプロイのための強力なツールチェーンです。まだインストールされていない場合は、指示に従ってインストールしてください。
その後、次の手順に従ってDoppler Protocolをインストールします。
- リポジトリをクローンします。
$ git clone [email protected]:whetstoneresearch/doppler.git
- 依存関係をインストールします。
$ forge install
テスト
セットアップが完了したら、コントラクトが期待どおりに機能することを確認するためにテストを実行できます。
.env
ファイルを作成します。.env.example
をコピーして、メインネットのRPCエンドポイントを追加します。
$ cp .env.example .env
- テストを実行します。
$ forge test
.env
ファイルでテストの値を調整することで、さまざまなシナリオを試すことができます。 例えば:
IS_TOKEN_0=FALSE
USING_ETH=FALSE
FEE=30
これらの値を変更すると、コントラクトの動作に影響を与える可能性があります。
Doppler Protocolのデプロイ
Doppler Protocolのデプロイには、主に3つのケースがあります。
- プロトコル全体のデプロイ (テストネットまたは新しい本番チェーン)
- 新しい周辺コントラクトのデプロイ (例: Bundler)
- 新しいモジュールのデプロイ (例: UniswapV4Initializer)
事前準備
デプロイする前に、以下の手順を実行する必要があります。
.env
ファイルを作成します。
$ cp .env.example .env
.env
ファイルを編集し、必要な変数を設定します。特に、デプロイに使用するウォレットの秘密鍵を設定する必要があります。
PRIVATE_KEY=0x...
プロトコル全体のデプロイ
Deploy.s.sol
スクリプトを参照してください。
新しい周辺コントラクトのデプロイ
周辺コントラクトのスクリプトを実行するだけでデプロイできます。
新しいモジュールのデプロイ
新しいモジュールをデプロイするには、エアロックコントラクトにモジュールを登録する必要があります。これを行うには、エアロックコントラクトの setModuleState
関数を呼び出し、新しいモジュールのアドレスとそのタイプ (例: TokenFactory
または PoolInitializer
) を渡します。
Doppler Protocolマルチシグがエアロックの管理者であるため、トランザクションはSafeインターフェースを通じて実行する必要があります。
デプロイコマンドの例
以下のコマンドを使用して、コントラクトを希望するネットワークにデプロイできます。
# 最初に環境変数をロードする
source .env
# 次に、次のコマンドのいずれかを使用して、目的のネットワークにコントラクトをデプロイします
# Ink Mainnet
forge script ./script/DeployMainnet.s.sol --private-key $PRIVATE_KEY --rpc-url $INK_MAINNET_RPC_URL --verify --verifier blockscout --verifier-url $INK_MAINNET_VERIFIER_URL --broadcast --slow
# Base Mainnet
forge script ./script/DeployMainnet.s.sol --private-key $PRIVATE_KEY --rpc-url $BASE_MAINNET_RPC_URL --verify --verifier blockscout --verifier-url $BASE_MAINNET_VERIFIER_URL --broadcast --slow
# Unichain Sepolia
forge script ./script/DeployTestnet.s.sol --private-key $PRIVATE_KEY --rpc-url $UNICHAIN_SEPOLIA_RPC_URL --verify --verifier blockscout --verifier-url $UNICHAIN_SEPOLIA_VERIFIER_URL --broadcast --slow
# Base Sepolia
forge script ./script/DeployTestnet.s.sol --private-key $PRIVATE_KEY --rpc-url $BASE_SEPOLIA_RPC_URL --verify --verifier blockscout --verifier-url $BASE_SEPOLIA_VERIFIER_URL --broadcast --slow
# World Sepolia
forge script ./script/DeployTestnet.s.sol --private-key $PRIVATE_KEY --rpc-url $WORLD_SEPOLIA_RPC_URL --verify --verifier blockscout --verifier-url $WORLD_SEPOLIA_VERIFIER_URL --broadcast --slow
# Ink Sepolia
forge script ./script/DeployTestnet.s.sol --private-key $PRIVATE_KEY --rpc-url $INK_SEPOLIA_RPC_URL --verify --verifier blockscout --verifier-url $INK_SEPOLIA_VERIFIER_URL --broadcast --slow
# Arbitrum Sepolia
forge script ./script/DeployTestnet.s.sol --private-key $PRIVATE_KEY --rpc-url $ARBITRUM_SEPOLIA_RPC_URL --verify --verifier blockscout --verifier-url $ARBITRUM_SEPOLIA_VERIFIER_URL --broadcast --slow
# Monad Testnet
forge script ./script/DeployTestnet.s.sol --private-key $PRIVATE_KEY --rpc-url $MONAD_TESTNET_RPC_URL --verify --verifier sourcify --verifier-url $MONAD_TESTNET_VERIFIER_URL --broadcast --slow
まとめ
Doppler Protocolは、DeFiエコシステムを活性化させるための基盤となるコンポーネントです。この記事では、プロトコルの導入、テスト、およびデプロイに必要な手順について説明しました。このガイドが、Doppler Protocolの利用を開始し、DeFiの可能性を最大限に引き出すのに役立つことを願っています。