: 솔리디티코드(스마트 컨트랙트)를 간단한 명령어로 쉽게 컴파일하고 배포해주는 프레임워크.
=> 아래의 작업을 효율적으로 편하게 만들어준 것이 truffle
1. 솔리디티 코딩한다. -> 컴파일 bin, abi
2. 솔리디티 배포한다.
3. web3를 활용하여 브라우저와 통신.
npm install -g truffle
truffle init 생성 폴더
- contracts
: 솔리디티 작성공간- migrations
: deploy 메서드가 사용되는 공간. 데몬에게 배포하는 행위를 하는 공간/ 이더리움 네트워크에 배포할 때 사용되는 js파일 디렉토리.
** migrations 폴더 안에서 파일 생성할 때 규칙
// [숫자]_[파일명]
// ex) 1_initial_migration.js / 2_deploy_contracts.js- test
: TDD 코드를 작성하는 공간
// 위의 폴더들은 truffle 프레임워크를 이용하여 컴파일과 배포를 자동적으로 해주는 코드이므로 해당 부분들은 건드리면 안됨.
** npm init으로 생성 된 폴더에서 truffle-config.js파일의 44~48line -> 네트워크 관련
: 로컬에서 블록체인 테스트를 위한 개발툴.
// 가상의 계좌를 제공하고, 각 계좌별 100ETH를 제공
설치
: 검색창 ganashe 검색 후 나오는 사이트에 들어가서 download
or
: npm install -g ganache-cli
: 터미널에 truffle unbox react 명령어 입력
// client : react프레임워크가 설치된 공감
나만 알아볼 듯한 truffle 실행과정
1. 솔리디티 파일생성
truffle create contract [파일명]
function hello() public view returns(string memory){ return "hello"; }
2. 솔리디티 파일 컴파일하기.
truffle compile
이후 build/contracts [파일명].json 생성되는것을 확인하기.3. 마이그레이션 코드 작성하기
migrations 폴더안에서 파일생성
규칙은 [숫자]_[파일명]
코드를 작성하기const [파일명] = artifacts.require("[파일명]"); module.exports = function (deployer) { deployer.deploy([파일명]); };
이후
truffle migrate4. 테스트 작업
파일생성하기
truffle create test [파일명]
이후 코드작성하기contract("HelloToken",()=>{ it("hello function call2",async ()=>{ let instance = await HelloToken.deployed() let result = await instance.hello() console.log(`이아이는 콘솔로그 : `,result) return result }) })