개발 잡부/블록체인

Truffle 알아보기 - Truffle QuickStart

금붕어 송인호 2022. 4. 1. 23:02
728x90

치얼스 커피를 테스트하려고 하다보니 트러플을 다뤄야 하는데,
truffle.js를 붙여놓고보니 뭔지 모르겠어서 하나하나 뜯어보려고 한다.

 

Truffle | Overview - Truffle Suite

 

trufflesuite.com


트러플은 무엇인가

트러플은 이더리움을 위한 가장 유명한 개발 프레임워크라고 한다.

배포, 컴파일, 테스트등의 서비스를 제공한다.


트러플 프로젝트 생성하기

설치

우선 전역에 트러플을 설치해준다.

npm install -g truffle

프로젝트 초기화

트러플은 Boxes라고 하는 템플릿을 제공해준다.

리액트 프로젝트를 만들 때
npx create-react-app A --template ...라고 쓰듯,
truffle unbox ...라고 쓴다.

truffle unbox <box-name>

더 많은 템플릿은 다음 링크를 확인해보자

 

Truffle Suite - Truffle Suite

eth-vue 111 This Truffle Box provides everything you need to quickly build Ethereum dApps that have authentication features with vue, including configuration for easy deployment to the Ropsten Network. It's also Gravatar-enabled. Connecting to a running Ga

trufflesuite.com

그냥 빈 프로젝트를 만들고 싶다면 

truffle init

을 사용한다.


테스트

테스트 하고 싶다면, 다음의 커맨드를 실행한다.

// 솔리디티 테스트
truffle test ./test/TestMetaCoin.sol

// 자바스크립트 테스트
truffle test ./test/metacoin.js

아무런 반응이 없다면, 다음 게시물을 확인해보자

 

truffle test 실행 시 아무런 반응이 없는 이슈

개요 // 메타코인 Boxes 사용 truffle unbox metacoin // 컴파일 truffle compile // 테스트 (멈춤) truffle test 이 상황에서 truffle test를 실행 시 프롬포트가 멈춤(아무런 출력이 없음) 현상이 존재. 원인 mo..

goldfishdiary.tistory.com

 


컴파일링

컴파일하는 커맨드:

truffle compile

Migrating with Truffle Develop

가나슈(Ganache)를 이용한다면 이 부분은 패스해도 된다.

truffle을 이용해 개발모드로 테스트를 하고 싶다면,
아래의 커멘드를 입력해보자

// 개발모드 실행
truffle develop

// (개발 모드인 상태로) migrate하기
truffle(development)> migrate

Migrating with Ganache (가냐슈로 마이그레이트하기)

 

Truffle Suite - Truffle Suite

Features VISUAL MNEMONIC & ACCOUNT INFO Quickly see the current status of all accounts, including their addresses, private keys, transactions and balances.

trufflesuite.com

가나슈는 다음의 링크에서 다운로드할 수 있다.

그 다음, truffle-config.js 파일을 만든다. (이미 있다면 패스)

module.exports = {
  networks: {
    development: {
      host: "127.0.0.1",
      port: 7545,
      network_id: "*"
    }
  }
};

 

그 다음, 트러플을 migrating해준다.

truffle migrate

그럼 이렇게 address가 보이면서 migrate가 된걸 보인다.
(오른쪽에 깨알 DEPLOYED가 보인다)

가나슈에 대해서는 따로 정리를 해봐야겠다.