> 웹3.0 > 본문

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 개발자 허브를 참조하세요.

노드 패키지 관리자(NPM)가 설치되었습니다.

스마트 계약 작성

스마트 계약은 Uniswap과 상호 작용하여 토큰 스왑을 수행합니다. ETH를 입금하면 WETH(Wrapped ETH)로 변환되며 Uniswap의 프로토콜을 사용하여 USDC로 스왑될 수 있습니다.

계약 코드는 다음과 같습니다.

// SPDX-라이센스 식별자: GPL-3.0

pragma 견고성 0.8.17;

인터페이스 IUniswapV2Router02 {

함수 swapExactETHForTokens(

uint256 amountOutMin,

주소[] 통화 데이터 경로,

주소는

uint256 마감

) 외부 지불 반환 (uint256[] 메모리 양);

함수 WETH() 외부 순수 반환(주소);

}

EthToUsdcSwap 계약 {

IUniswapV2Router02 개인 상수 uniswapRouter = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F248cF);

주소 개인 상수 usdcAddress = 0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48;

함수 swapEthToUsdc(

uint256 minUsdcAmount,

주소

) 외부 지불 {

주소[] 메모리 경로 = 새 주소[](2);

경로[0] = uniswapRouter.WETH();

경로[1] = usdcAddress;

uniswapRouter.swapExactETHForTokens{값: msg.값}(

minUsdcAmount,

경로,

에,

block.timestamp + 300

);

}

}

스마트 계약 컴파일

Remix IDE를 사용하여 계약을 컴파일하고 ABI(Application Binary Interface) 및 바이트코드를 얻습니다.

스마트 계약 배포

Circle의 SDK를 사용하여 컴파일된 계약을 배포하세요. 계속하기 전에 터미널이나 스크립트에서 CIRCLE_ACCESS_KEY 및 CIRCLE_SECRET_KEY 환경 변수를 설정했는지 확인하세요.

다음은 예제 명령입니다:

npx Circle-smart-contract 배포

--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$(원 지갑)"]'

--output-dir="./output"

이 명령은 0.1 ETH의 토큰 스왑을 USDC로 수행하고 스왑된 USDC 토큰을 Circle 개발자 허브에서 볼 수 있는 Circle Pay 지갑으로 보냅니다.

결론

Circle의 스마트 계약 플랫폼은 ETH를 USDC로 교환하기 위한 스마트 계약을 배포하고 관리하기 위한 간소화된 솔루션을 제공합니다. Circle의 SDK를 활용하면 개발자는 쉽게 블록체인에서 트랜잭션을 실행하여 Circle의 서비스를 dApp 또는 애플리케이션에 통합할 수 있습니다.

위 내용은 Circle의 스마트 계약 플랫폼을 통해 ETH에서 USDC로 원활한 교환 가능의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!