Blockchain - Truffle 실습

김도영·2022년 7월 14일
0

Truffle

truffle 프레임워크는 스마트 컨트랙트 개발시 개발, 배포 및 테스트 환경을 제공한다. 이 프레임워크는 node.js에서 동작을 하고 npm으로 설치가 가능하다.

요구사항

  • node 5.0 이상
  • 윈도우, 리눅스, Mac OS X
  • JSON RPC API를 지원하는 이더리움 클라이언트

설치

npm install -g truffle

truffle 프로젝트 생성

mkdir truffle-sample
cd truffle-sample
truffle init // 트러플 프로젝트 초기화

  • contracts: solidity로 개발된 스마트 컨트랙트 소스 파일 폴더
  • contracts/Migrations.sol: 배포를 도와주는 solidity 파일
  • migrations: 배포를 위한 스크립트 파일 폴더
  • migrations/1_initial_migrations.js: Migrations.sol을 배포하는 스크립트
  • test: 개발된 컨트랙트를 테스트하기 위한 폴더
  • truffle-config.js: truffle 설정 파일

Truffle develop

Truffle develop은 truffle에서 기본적으로 제공하는 이더리움 클라이언트이다.

truffle develop

위 명령어를 프로젝트 폴더내에서 실행하면 10개의 Accounts와 Private Key가 리스트업 되고 JSON-RPC용(http://127.0.0.1:9594)서비스가 제공된다. 종료를 할 때는 .exit를 입력하면 콘솔이 종료된다.

스마트 컨트랙트 컴파일

truffle(develop) > compile

위 명령어 실행시 루트폴더에 /build 폴더가 생성이 되며 contracts폴더 아래에 있는 solidity 파일이 json형태로 변경된다.

스마트 컨트랙트 배포

truffle(develop) > migrate

위 명령어 실행시 /build 폴더에 생성된 파일을 서버에 배포가 된다.

스마트 컨트랙트 테스트

truffle(develop) > test

profile
Blockchain Developer

0개의 댓글