ganache를 사용하다보니 세팅하는 방법마다 포트가 달라서 구분 방법을 찾아보았다.
여러 툴을 사용할 때 포트충돌이 나지않게 하려는 의도인 것 같다.
[ ganache-gui 를 쓰는 경우 ]
localhost:7545
[ ganache-cli 를 쓰는 경우 ]
localhost:8545
[ truffle에 내장된 testRPC 를 쓰는 경우 ] > truffle develop 명령어로 구동
localhost:9545
ganache를 사용하다보니 세팅하는 방법마다 포트가 달라서 구분 방법을 찾아보았다.
여러 툴을 사용할 때 포트충돌이 나지않게 하려는 의도인 것 같다.
[ ganache-gui 를 쓰는 경우 ]
localhost:7545
[ ganache-cli 를 쓰는 경우 ]
localhost:8545
[ truffle에 내장된 testRPC 를 쓰는 경우 ] > truffle develop 명령어로 구동
localhost:9545
[ 툴 버전정보 ]
mac os
truffle : 5.0.8
ganache-cli : Ganache CLI v6.4.1 (ganache-core: 2.5.3)
web3.js : 1.0.0-beta.48
express : 버전4
[ truffle 설치 ]
$ npm install -g truffle
[ ganache-cli 설치 ]
$ npm install -g ganache-cli
[ dapp 실행방법 ]
1. 가나슈 실행 (가나슈는 로컬 블록체인 환경을 구성해주는 툴)
$ ganache-cli
2. truffle 이용한 스마트 컨트랙트 컴파일 & 배포 (컨트랙트가 작성돼있다는 전제하에..)
$ truffle compile > 컨트랙트 컴파일 (build/contracts 디렉토리에 계약이름.json 파일 생성)
$ truffle migrate > 컨트랙트 배포 (가나슈가 실행중일때 가능)
$ truffle console > 트러플 콘솔 진입
3. web3 설치
$ npm install web3
4. 서버 설치
$ npm install -g express-generator
// express 로 프로젝트 생성
$ express [프로젝트이름]
$ cd [프로젝트이름]
$ npm install // 처음 셋팅 시 package.json 에 있는 모듈이 import 안돼있을수있음
$ npm start
** nodemon 으로 실행 시
$ npm install nodemon
$ vi package.json
"start": "node ./bin/www" > "start": "nodemon ./bin/www" 으로 변경
[ 일반용어 ]
하이퍼레저
- 프라이빗 블록체인
이오스
- 블록체인 기술 종류
크립토커런시
- 영미권에서 가상화폐를 말하는 단어
메인넷
- 독립적인 블록체인 플랫폼
- 코인은 메인넷이 있는 블록체인에서 사용
토큰
- 메인넷이 아닌 다른 플렛폼에서 파생되어 사용
오라클라이즈
- 폐쇄적인 블록체인의 단점을 보완하기 위해 데이터를 블록체인 내부로 가져오거나 외부로 가져가는 방식
스마트컨트랙트
- 이더리움의 특징, 조건을 걸어놓고 해당조건이 성립되면 자동으로 계약이 실행되는 장치
트랜잭션
- 거래 하나 단위, 이더리움은 초당 트랜잭션 처리량이 낮음 > 느림
온체인
- 메인 블록체인 네트워크
오프체인 - 온체인 아닌거, 온체인 트랜젝션 처리 속도가 느리므로 이를 보완하기위해 사용
[ 툴 & 환경 ]
geth
- 이더리움 재단에서 제공하는 공식 클라이언트 소프트웨어
- go 언어로 개발 (go-ethereum이어서 geth)
- parity 라는 클라이언트 sw도 있고 이더리움황서의 사양에 따라 직접 클라이언트 구현도 가능
web3.js
- 이더리움 블록체인과의 인터렉션을 제공하는 자바스크립트 라이브러리
- 이 라이브러리를 사용해 프론트엔드에서 dapp 이용 가능
truffle
- 루비, 장고 같은 웹 애플리케이션 프레임워크
- 트러플은 dapp 개발할때 많이 쓰는 프레임워크 중 하나
- 블록체인에서 스마트 컨트랙트를 컴파일하고 배고하는 과정을 추상화
- embark 라는 프레임워크도 있음
ganache
- 개발 목적으로 사용하는 메모리 내 블록체인
- geth, parity 같은 클라이언트를 사용하면 트랜잭션 마다 15초씩 걸려서 느림
- ganache-cli 또는 GUI 버전으로 설치 가능
메타마스크
- 이더리움 지갑 중 커뮤니티에서 사용되는 가장 인기있는 지갑 중 하나
- 메타마스크는 크롬 플러그인으로 설치 가능 (계정생성, 키생성)
etherscan
- 이더스캔 사에서 서비스하는 무료 프론트앤드 애플리케이션
- 퍼블릭 이더리움 블록체인의 주소, 트랜잭션, 블록에 대한 정보들을 확인하는 사이트
remix
- 리믹스는 스마트 컨트랙트를 코딩하는데 쓰는 브라우저 IDE
- 리믹스는 소규모용으로는 좋지만 전문적으로하려면 에디터를 사용하고 컴파일/배포는 트러플같은 프레임워크 사용이 나음