Circle のスマート コントラクト プラットフォームは、SDK を使用したスマート コントラクトを介して ETH から USDC へのスワップを簡素化し、導入と対話を容易にします。
Circle のスマート コントラクト プラットフォームを dApp またはアプリケーションに統合します。
前提条件
Circle のプラットフォームを使用して ETH から USDC へのスワップを続行する前に、次の前提条件が満たされていることを確認してください:
Node.js (v16.14.2 以降) がローカル マシンにインストールされています。
サークルアクセスキーとシークレットキーを取得しました。これらのキーを生成する方法については、Circle Developer Hub を参照してください。
ノード パッケージ マネージャー (NPM) がインストールされています。
スマートコントラクトを書く
スマート コントラクトは Uniswap と対話してトークン スワップを実行します。 ETHを入金すると、ETHはラップされたETH(WETH)に変換され、Uniswapのプロトコルを使用してUSDCと交換できます。
契約コードは次のとおりです:
// SPDX ライセンス識別子: GPL-3.0
プラグマソリッドティ0.8.17;
インターフェイス IUniswapV2Router02 {
関数 swapExactETHForTokens(
uint256 amountOutMin,
address[] calldata パス、
宛先、
uint256 締め切り
) 外部買掛金リターン (uint256[] メモリ量);
関数 WETH() 外部の純粋な戻り値 (アドレス);
}
コントラクト EthToUsdcSwap {
IUniswapV2Router02 プライベート定数 uniswapRouter = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F248cF);
アドレスプライベート定数 usdcAddress = 0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48;
関数 swapEthToUsdc(
uint256 分米ドル金額、
宛先
) 外部買掛金 {
アドレス[] メモリ パス = 新しいアドレス[](2);
パス[0] = uniswapRouter.WETH();
パス[1] = usdcアドレス;
uniswapRouter.swapExactETHForTokens{値: msg.value}(
最小米ドル金額、
パス、
に、
ブロック.タイムスタンプ + 300
);
}
}
スマートコントラクトのコンパイル
Remix IDE を使用してコントラクトをコンパイルし、ABI (Application Binary Interface) とバイトコードを取得します。
スマートコントラクトの導入
Circle の SDK を使用して、コンパイルされたコントラクトをデプロイします。続行する前に、ターミナルまたはスクリプトで CIRCLE_ACCESS_KEY および CIRCLE_SECRET_KEY 環境変数が設定されていることを確認してください。
コマンドの例を次に示します:
npx サークルスマートコントラクトをデプロイする
--abi="./build/contracts/EthToUsdcSwap.sol/EthToUsdcSwap.json"
--bytecode="0x$(cat build/contracts/EthToUsdcSwap.sol/EthToUsdcSwap.bin)"
--chain="イーサリアム"
--constructor-args='[]'
--output-dir="./output"
デプロイが成功すると、将来の参照用にcontractIdとtransactionIdを受け取ります。
デプロイされたコントラクトと対話する
デプロイされたコントラクトを使用してトークンスワップを実行するには:
続行する前に、端末またはスクリプトで CIRCLE_ACCESS_KEY、CIRCLE_SECRET_KEY、CIRCLE_CONTRACT_ID、および CIRCLE_CHAIN 環境変数が設定されていることを確認してください。
0.1 ETH を USDC に交換し、指定されたアドレスにトークンを送信するコマンドの例を次に示します。 npx サークルとスマートコントラクトの相互作用 --function="swapEthToUsdc" --args='[0.1, "0x$(circle-wallet)"]' --output-dir="./output" このコマンドは、0.1 ETH の USDC へのトークン スワップを実行し、スワップされた USDC トークンを Circle Pay ウォレットに送信します。これは Circle Developer Hub で確認できます。 結論 Circle のスマート コントラクト プラットフォームは、ETH を USDC に交換するためのスマート コントラクトを展開および管理するための合理化されたソリューションを提供します。 Circle の SDK を活用することで、開発者はブロックチェーン上でトランザクションを簡単に実行し、Circle のサービスを dApp やアプリケーションに統合できます。以上がCircle のスマート コントラクト プラットフォームにより、ETH から USDC へのシームレスなスワップが可能になりますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。