Circle のスマート コントラクト プラットフォームにより、ETH から USDC へのシームレスなスワップが可能になります

PHPz
リリース: 2024-08-16 15:23:16
オリジナル
290 人が閲覧しました

Circle のスマート コントラクト プラットフォームは、SDK を使用したスマート コントラクトを介して ETH から USDC へのスワップを簡素化し、導入と対話を容易にします。

Circle のスマート コントラクト プラットフォームにより、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 サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!