Platform Kontrak Pintar Circle memudahkan pertukaran ETH kepada USDC melalui kontrak pintar dengan SDK untuk penggunaan dan interaksi yang mudah.
integrasikan Platform Kontrak Pintar Circle ke dalam dApps atau aplikasi mereka.
Prasyarat
Sebelum meneruskan pertukaran ETH kepada USDC menggunakan platform Circle, pastikan prasyarat berikut dipenuhi:
Node.js (v16.14.2 atau lebih baru) dipasang pada mesin tempatan anda.
Anda telah memperoleh Kunci Akses Bulatan dan Kunci Rahsia. Untuk mengetahui cara menjana kunci ini, rujuk Hab Pembangun Bulatan.
Node Package Manager (NPM) dipasang.
Menulis Kontrak Pintar
Kontrak pintar akan berinteraksi dengan Uniswap untuk melakukan pertukaran token. Selepas mendepositkan ETH, ia ditukar kepada Wrapped ETH (WETH) dan boleh ditukar dengan USDC menggunakan protokol Uniswap.
Ini kod kontrak:
// Pengecam-Lesen SPDX: GPL-3.0
kepejalan pragma 0.8.17;
antara muka IUniswapV2Router02 {
fungsi swapExactETHForTokens(
uint256 jumlahOutMin,
alamat[] laluan data panggilan,
alamat kepada,
tarikh akhir uint256
) pulangan berbayar luar (jumlah memori uint256[]);
fungsi WETH() pulangan tulen luaran (alamat);
}
kontrak EthToUsdcSwap {
IUniswapV2Router02 pemalar peribadi uniswapRouter = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F248cF);
alamat pemalar peribadi usdcAddress = 0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48;
fungsi swapEthToUsdc(
uint256 minUsdcAmount,
alamat kepada
) luar yang perlu dibayar {
alamat[] laluan ingatan = alamat baharu[](2);
laluan[0] = uniswapRouter.WETH();
laluan[1] = usdcAddress;
uniswapRouter.swapExactETHForTokens{value: msg.value}(
minUsdcAmount,
laluan,
kepada,
blok.cap masa + 300
);
}
}
Menyusun Kontrak Pintar
Gunakan Remix IDE untuk menyusun kontrak dan dapatkan ABI (Antara Muka Binari Aplikasi) dan kod bait.
Menggunakan Kontrak Pintar
Gunakan SDK Circle untuk menggunakan kontrak yang disusun. Sebelum meneruskan, pastikan anda telah menetapkan pembolehubah persekitaran CIRCLE_ACCESS_KEY dan CIRCLE_SECRET_KEY dalam terminal atau skrip anda.
Ini contoh arahan:
npx bulatan-pintar-kontrak digunakan
--abi="./build/contracts/EthToUsdcSwap.sol/EthToUsdcSwap.json"
--bytecode="0x$(cat build/contracts/EthToUsdcSwap.sol/EthToUsdcSwap.bin)"
--chain="ethereum"
--constructor-args='[]'
--output-dir="./output"
Setelah penempatan berjaya, anda akan menerima contractId dan transactionId untuk rujukan masa hadapan.
Berinteraksi dengan Kontrak yang Ditugaskan
Untuk melakukan pertukaran token menggunakan kontrak yang digunakan:
Sebelum meneruskan, pastikan anda telah menetapkan pembolehubah persekitaran CIRCLE_ACCESS_KEY, CIRCLE_SECRET_KEY, CIRCLE_CONTRACT_ID dan CIRCLE_CHAIN dalam terminal atau skrip anda.
Berikut ialah contoh arahan untuk menukar 0.1 ETH kepada USDC dan menghantar token ke alamat yang dinyatakan:
npx circle-smart-contracts berinteraksi
--function="swapEthToUsdc"
--args='[0.1, "0x$(bulatan-dompet)"]'
--output-dir="./output"
Arahan ini akan melakukan pertukaran token sebanyak 0.1 ETH kepada USDC dan menghantar token USDC yang ditukar ke dompet Circle Pay anda, yang boleh dilihat dalam Hab Pembangun Circle.
Kesimpulan
Platform Kontrak Pintar Circle menawarkan penyelesaian yang diperkemas untuk mengatur dan mengurus kontrak pintar untuk menukar ETH kepada USDC. Dengan memanfaatkan SDK Circle, pembangun boleh melaksanakan transaksi dengan mudah pada blockchain untuk menyepadukan perkhidmatan Circle ke dalam dApps atau aplikasi mereka.
Atas ialah kandungan terperinci Platform Kontrak Pintar Circle Mendayakan ETH Lancar kepada Pertukaran USDC. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!