[TIL] 2023-06-08

Melon Coder·2023년 6월 8일
0

TIL

목록 보기
44/50
post-thumbnail

Today I Learned


[Solidity]

오늘은 truffleganache을 사용하는 방법에 대해 알아보았다.


Truffle

*node 설치 해야함


  1. truffle init -> truffle 개발 환경이 구축된다.
    (contracts 폴더, migrations 폴더, test 폴더, truffle-config.js 파일 생성)
  2. truffle create contract "name" -> name.sol이라는 솔리디티 파일이 contracts폴더 안에 생성된다.
  3. solidity complile version은 truffle-config.js에서 설정할 수 있다.
  // Configure your compilers
  compilers: {
    solc: {
      version: "0.8.19",      // 버전 설정
      // docker: true,
      // settings: {          
      //  optimizer: {
      //    enabled: false,
      //    runs: 200
      //  },
      //  evmVersion: "byzantium"
      // }
    }
  },
  1. truffle compile -> 전체 파일 컴파일 / truffle compile ./contracts/test.sol => test.sol 파일만 컴파일
  2. 컴파일에 성공하면 build폴더가 생성되고 해당 파일의 abi를 포함한 json파일이 생성된다.
  3. migrate할 때에는 migrations폴더에 1_"name".js 즉,숫자_파일이름.js 이런식으로 파일을 생성해야한다.
  4. js파일 구조
const A = artifacts.require("컨트랙트 이름");

module.exports = function (deployer) {
  deployer.deploy(A);
};

이렇게 파일을 생성한 뒤에 배포를 할 수 있다.
8. truffle migrate를 하면 migrations폴더 안에 있는 파일 만큼 배포를 하고 블록을 생성하게 된다.
9. truffle migrate --f 3 --to 6을 하면 3번(3_test.js)부터 6번(6_test.js)에 해당하는 컨트랙트까지 배포할 수 있다. --f = from

  • 만일 같은 이름의 컨트랙트가 존재하면 마지막으로 컴파일된 컨트랙트가 배포된다.

Ganache

ganache에서는 블록 채굴 시간을 설정할 수 있는데 설정한 시간안에 생성된 트랜잭션들이 블록에 저장된다.

0개의 댓글