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

- 리믹스는 소규모용으로는 좋지만 전문적으로하려면 에디터를 사용하고 컴파일/배포는 트러플같은 프레임워크 사용이 나음



참고글 : https://programmers.co.kr/learn/courses/7322

+ Recent posts