Rumah > web3.0 > Platform Kontrak Pintar Circle Mendayakan ETH Lancar kepada Pertukaran USDC

Platform Kontrak Pintar Circle Mendayakan ETH Lancar kepada Pertukaran USDC

PHPz
Lepaskan: 2024-08-16 15:23:16
asal
460 orang telah melayarinya

Platform Kontrak Pintar Circle memudahkan pertukaran ETH kepada USDC melalui kontrak pintar dengan SDK untuk penggunaan dan interaksi yang mudah.

Platform Kontrak Pintar Circle Mendayakan ETH Lancar kepada Pertukaran USDC

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!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan