Base 배포 퀵스타트 가이드에 오신 것을 환영합니다! 이 종합 안내서는 환경을 설정하고 Base에서 스마트 컨트랙트를 배포하는 데 도움을 줍니다. 숙련된 개발자든 방금 시작한 분이든 이 가이드가 도움이 될 것입니다.
달성할 목표
이 퀵스타트를 마치면 다음을 할 수 있게 됩니다:
- Base에 배포하기 위한 개발 환경 설정
- Base에 스마트 컨트랙트 배포
- 프론트엔드를 스마트 컨트랙트에 연결
왜 Base인가요?Base는 다음 10억 명의 사용자를 온체인으로 데려오기 위해 구축된 빠르고 저렴하며 빌더 친화적인 Ethereum L2입니다. 이 가이드를 따라 글로벌 온체인 경제를 구축하는 개발자, 크리에이터, 혁신가의 활발한 에코시스템에 합류하게 됩니다.
개발 환경 설정
- 새 프로젝트 디렉토리 만들기
mkdir my-base-project && cd my-base-project
- 스마트 컨트랙트 개발을 위한 강력한 프레임워크인 Foundry 설치
curl -L https://foundry.paradigm.xyz | bash
foundryup
이 명령은 Foundry를 설치하고 최신 버전으로 업데이트합니다.
- 새 Solidity 프로젝트 초기화
이제 Foundry 프로젝트가 준비되었습니다. src 디렉토리에서 예시 컨트랙트를 찾을 수 있으며, 자신의 컨트랙트로 교체할 수 있습니다. 이 가이드에서는 /src/Counter.sol에 제공된 Counter 컨트랙트를 사용합니다.
Foundry는 Forge(테스트용), Cast(체인 상호작용용), Anvil(로컬 노드 설정용)을 포함한 Ethereum 애플리케이션 개발을 위한 도구 모음을 제공합니다. Foundry에 대한 자세한 내용은 여기에서 확인할 수 있습니다.
Base로 Foundry 설정
Base에 스마트 컨트랙트를 배포하려면 두 가지 핵심 구성 요소가 필요합니다:
- Base 네트워크와 상호작용하기 위한 노드 연결
- 컨트랙트를 배포하기 위한 자금이 충전된 개인 키
두 가지를 모두 설정해 보겠습니다:
1. 노드 연결 설정
- 프로젝트 루트 디렉토리에
.env 파일 만들기
.env 파일에 Base 네트워크 RPC URL 추가
BASE_RPC_URL="https://mainnet.base.org"
BASE_SEPOLIA_RPC_URL="https://sepolia.base.org"
- 환경 변수 로드
Base Sepolia는 Base의 테스트 네트워크로, 이 가이드의 나머지 부분에서 사용합니다. 여기에 나열된 파우셋에서 무료 Base Sepolia ETH를 받을 수 있습니다.
2. 개인 키 보안 저장
- Foundry의 안전한 키스토어에 개인 키 저장
cast wallet import deployer --interactive
- 프롬프트가 표시되면 개인 키와 비밀번호를 입력합니다.
개인 키는 git에서 추적되지 않는 ~/.foundry/keystores에 저장됩니다.
개인 키를 절대 공유하거나 커밋하지 마세요. 항상 안전하게 보관하고 주의 깊게 다루세요.
컨트랙트 배포
이제 환경이 설정되었으니 Base Sepolia에 컨트랙트를 배포해 보겠습니다.
- 다음 명령을 사용하여 컨트랙트를 컴파일하고 배포합니다
forge create ./src/Counter.sol:Counter --rpc-url $BASE_SEPOLIA_RPC_URL --account deployer
배포되는 컨트랙트의 형식은 <컨트랙트-경로>:<컨트랙트-이름>입니다.
-
배포 성공 후 트랜잭션 해시가 콘솔 출력에 표시됩니다
-
배포된 컨트랙트 주소를 복사하여
.env 파일에 추가합니다
COUNTER_CONTRACT_ADDRESS="0x..."
- 새 환경 변수 로드
배포 확인
컨트랙트가 성공적으로 배포되었는지 확인하려면:
- Sepolia Basescan에서 트랜잭션을 확인합니다.
cast 명령을 사용하여 명령줄에서 배포된 컨트랙트와 상호작용합니다
cast call $COUNTER_CONTRACT_ADDRESS "number()(uint256)" --rpc-url $BASE_SEPOLIA_RPC_URL
이 명령은 Counter 컨트랙트의 number 스토리지 변수의 초기 값인 0을 반환합니다.
축하합니다! Base Sepolia에 스마트 컨트랙트를 배포했습니다!
다음 단계
- wagmi 또는 viem을 사용하여 프론트엔드를 컨트랙트에 연결하세요.
- Foundry 튜토리얼에서 Foundry를 사용하여 명령줄에서 컨트랙트와 상호작용하는 방법에 대해 자세히 알아보세요.