참고) 이더리움 용어: transaction - writing하는 호출, call-읽는 호출.
공부하기 좋은 소스: petShop
<Truffle> : 단어 의미는 송로버섯
이더리움 solidify 개발시에 간단한 웹환경인 remix가 공부하기 좋지만,
본격적으로 빌드환경 구성해서 개발하기에는 truffle이 좋다.
$truffle init 만 하면 개발폴더구조와 설정파일인 truffle.js가 생성된다.
$truffle compile - sol컴파일.
참고: 테스트 서버환경 (테스트용도임- 배포환경으로 적당치 않음)
truffle에 직접 lite-server를 사용하여 localhost:3000으로 test를 할 수도 있는데
이 경우엔 package.json을 만들어 "dev"란 이름으로 lite-server를 추가하고
$npm run dev 를 하면 된다. => petShop truffle예제 참고
$truffle console - crowd세일등을 test할 때, javascript console처럼 온라인 test가능. REF
좋은 crowd세일 예제: REF
<Ganache> : 단어 의미는 초코+크림 반반 섞은 거시기
remix에서는 이더리움 지갑으로 metaMask를 쓰듯이
Truffle에서는 이더리움 client로 ganache를 사용하는게 좋다. (물론 다른 것들도 있다)
GANACHE : app을 실행하면
http://127.0.0.1:7545 에서 클라이언트 실행
참고 8545 = TestRPC일경우.(주로 MetaMask랑 같이 씀) - REF
truffle init # Initialize a default truffle project in that folder
truffle build # Compile the dapp truffle migrate # Publish the dapp on the blockchain truffle serve # Host your web interface on port 8080
Truffle + Ganache환경에서
truffle develop하면
http://127.0.0.1:9545 에서 클라이언트 실행해줌.
<ROPSTEN-TestNet사용법>
$npm install truffle-hdwallet-provider -save하고 나서
truffle.js를 편집해서 ROPSTEN설정하고
(ethpm.js도 점검하고)
$truffle publish 하면 ROPSTEN에 publish됨.
<Zeppelin>
Zeppelin기반으로 Token을 만들고 싶다면.. npm방식으로 zeppelin을 설치하는 방법과
ethpm방식으로 zeppelin을 설치하는 방법이 있는데..
npm방식으로 하면 다른 소스들과 헤깔리기도 하고, 직접 zeppelin과 상관도 없는 많은 파일들을 받아야 하므로
딱 필요한 것만 받는 ethpm방식으로 설치하기를 추천한다.
ethpm.json파일만 만든 후에 REF
$truffle install zeppelin하면 intalled_contracts밑에 패키지가 설치가 되고.. REF
토큰관련 코딩후에는 그냥
$truffle compile -> $truffle migrate로 다른 일반 contracts와 함께 개발이 가능한 것으로 보인다.
($truffle publish는 아직은 필요없는거 같은데.. 이건 ROPSTEN용도이려나? .... 아직 미 test중)
출처:Truffle공식사이트