Skip to main content

Documentation Index

Fetch the complete documentation index at: https://daehan-base.mintlify.app/llms.txt

Use this file to discover all available pages before exploring further.

Base 배포 퀵스타트 가이드에 오신 것을 환영합니다! 이 종합 안내서는 환경을 설정하고 Base에서 스마트 컨트랙트를 배포하는 데 도움을 줍니다. 숙련된 개발자든 방금 시작한 분이든 이 가이드가 도움이 될 것입니다.

달성할 목표

이 퀵스타트를 마치면 다음을 할 수 있게 됩니다:
  • Base에 배포하기 위한 개발 환경 설정
  • Base에 스마트 컨트랙트 배포
  • 프론트엔드를 스마트 컨트랙트에 연결
왜 Base인가요?Base는 다음 10억 명의 사용자를 온체인으로 데려오기 위해 구축된 빠르고 저렴하며 빌더 친화적인 Ethereum L2입니다. 이 가이드를 따라 글로벌 온체인 경제를 구축하는 개발자, 크리에이터, 혁신가의 활발한 에코시스템에 합류하게 됩니다.

개발 환경 설정

  1. 새 프로젝트 디렉토리 만들기
mkdir my-base-project && cd my-base-project
  1. 스마트 컨트랙트 개발을 위한 강력한 프레임워크인 Foundry 설치
curl -L https://foundry.paradigm.xyz | bash
foundryup
이 명령은 Foundry를 설치하고 최신 버전으로 업데이트합니다.
  1. 새 Solidity 프로젝트 초기화
forge init
이제 Foundry 프로젝트가 준비되었습니다. src 디렉토리에서 예시 컨트랙트를 찾을 수 있으며, 자신의 컨트랙트로 교체할 수 있습니다. 이 가이드에서는 /src/Counter.sol에 제공된 Counter 컨트랙트를 사용합니다.
Foundry는 Forge(테스트용), Cast(체인 상호작용용), Anvil(로컬 노드 설정용)을 포함한 Ethereum 애플리케이션 개발을 위한 도구 모음을 제공합니다. Foundry에 대한 자세한 내용은 여기에서 확인할 수 있습니다.

Base로 Foundry 설정

Base에 스마트 컨트랙트를 배포하려면 두 가지 핵심 구성 요소가 필요합니다:
  1. Base 네트워크와 상호작용하기 위한 노드 연결
  2. 컨트랙트를 배포하기 위한 자금이 충전된 개인 키
두 가지를 모두 설정해 보겠습니다:

1. 노드 연결 설정

  1. 프로젝트 루트 디렉토리에 .env 파일 만들기
  2. .env 파일에 Base 네트워크 RPC URL 추가
BASE_RPC_URL="https://mainnet.base.org"
BASE_SEPOLIA_RPC_URL="https://sepolia.base.org"
  1. 환경 변수 로드
source .env
Base Sepolia는 Base의 테스트 네트워크로, 이 가이드의 나머지 부분에서 사용합니다. 여기에 나열된 파우셋에서 무료 Base Sepolia ETH를 받을 수 있습니다.

2. 개인 키 보안 저장

  1. Foundry의 안전한 키스토어에 개인 키 저장
cast wallet import deployer --interactive
  1. 프롬프트가 표시되면 개인 키와 비밀번호를 입력합니다.
개인 키는 git에서 추적되지 않는 ~/.foundry/keystores에 저장됩니다.
개인 키를 절대 공유하거나 커밋하지 마세요. 항상 안전하게 보관하고 주의 깊게 다루세요.

컨트랙트 배포

이제 환경이 설정되었으니 Base Sepolia에 컨트랙트를 배포해 보겠습니다.
  1. 다음 명령을 사용하여 컨트랙트를 컴파일하고 배포합니다
forge create ./src/Counter.sol:Counter --rpc-url $BASE_SEPOLIA_RPC_URL --account deployer
배포되는 컨트랙트의 형식은 <컨트랙트-경로>:<컨트랙트-이름>입니다.
  1. 배포 성공 후 트랜잭션 해시가 콘솔 출력에 표시됩니다
  2. 배포된 컨트랙트 주소를 복사하여 .env 파일에 추가합니다
COUNTER_CONTRACT_ADDRESS="0x..."
  1. 새 환경 변수 로드
source .env

배포 확인

컨트랙트가 성공적으로 배포되었는지 확인하려면:
  1. Sepolia Basescan에서 트랜잭션을 확인합니다.
  2. cast 명령을 사용하여 명령줄에서 배포된 컨트랙트와 상호작용합니다
cast call $COUNTER_CONTRACT_ADDRESS "number()(uint256)" --rpc-url $BASE_SEPOLIA_RPC_URL
이 명령은 Counter 컨트랙트의 number 스토리지 변수의 초기 값인 0을 반환합니다. 축하합니다! Base Sepolia에 스마트 컨트랙트를 배포했습니다!

다음 단계

  • wagmi 또는 viem을 사용하여 프론트엔드를 컨트랙트에 연결하세요.
  • Foundry 튜토리얼에서 Foundry를 사용하여 명령줄에서 컨트랙트와 상호작용하는 방법에 대해 자세히 알아보세요.