Decentralization

Win & Ubuntu CLI에서 Truffle 설정 및 스마트 계약 배포 가이드

이영훈닷컴 2025. 3. 17. 00:23
728x90

Win & Ubuntu CLI 트러플(Truffle) 설정 및 예제

설치 확인

Truffle을 사용하기 전에 필수 패키지들이 올바르게 설치되었는지 확인합니다.

$ python3 --version
Python 3.12.3

$ node -v
v22.14.0

$ npm -v
11.1.0

$ git --version
git version 2.43.0

Truffle 설치

Truffle은 Node.js 기반의 Ethereum 개발 프레임워크입니다. npm을 사용하여 전역(global)으로 설치합니다.

$ npm install truffle -g

설치가 완료되면 다음 명령어로 버전을 확인합니다.

$ truffle version
Truffle v5.11.5 (core: 5.11.5)
Ganache v7.9.1
Solidity v0.5.16 (solc-js)
Node v22.14.0
Web3.js v1.10.0

Truffle 프로젝트 초기화

프로젝트 디렉토리를 생성하고 truffle init을 실행하여 Truffle 프로젝트를 초기화합니다.

$ mkdir my_truffle_project
$ cd my_truffle_project
$ truffle init

프로젝트 구조

초기화가 완료되면 다음과 같은 폴더와 파일이 생성됩니다:

  • contracts/: Solidity 스마트 계약이 저장되는 폴더
  • migrations/: 스마트 계약 배포 스크립트 폴더
  • test/: 테스트 파일 폴더
  • truffle-config.js: Truffle 설정 파일

MetaCoin 예제 다운로드

Truffle Box를 사용하여 MetaCoin 예제를 다운로드합니다.

$ truffle unbox metacoin

이제 contracts/MetaCoin.sol 등의 파일을 확인할 수 있습니다.

스마트 계약 컴파일

다음 명령어를 실행하여 스마트 계약을 컴파일합니다.

$ truffle compile

성공적으로 컴파일되면 build/contracts/ 디렉토리에 JSON 파일이 생성됩니다.

Ganache 실행 및 Truffle 개발 환경 실행

Ganache를 실행한 후 Truffle 개발 네트워크를 실행합니다.

$ truffle develop

스마트 계약 배포

Truffle 개발 환경 내에서 배포 명령을 실행합니다.

truffle(develop)> migrate

성공적으로 배포되면 스마트 계약의 주소 및 트랜잭션 ID를 확인할 수 있습니다.

Deploying 'MetaCoin'
> transaction hash:    0x86b381fa...
> contract address:    0x03709DE4e1a...
> gas used:            416594
> total cost:          0.001360918 ETH

마무리

이제 Truffle을 활용하여 스마트 계약을 개발하고 테스트할 수 있습니다. 추가적으로 truffle test 명령을 사용하여 테스트를 실행할 수 있습니다.

728x90