[Ethereum] 스마트컨트랙트 개발툴(macOS)

이전에 공부할때 가볍게 실습하고 넘어갔던 부분을 정리해서 적어두려 합니다.

아마.. 2년전 쯤에 실습한 것이라 버전이 올라가면서 바뀐부분이 좀 있네요.

Homebrew

설치

1
2
3
4
5
% /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

% brew -v
Homebrew 3.5.5
Homebrew/homebrew-core (git revision 25e0a25aceb; last commit 2022-07-19)

Docker

버전 확인

1
2
3
4
5
6
7
8
9
10
11
12
% docker version
Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?
Client:
Cloud integration: v1.0.22
Version: 20.10.13
API version: 1.41
Go version: go1.16.15
Git commit: a224086
Built: Thu Mar 10 14:08:43 2022
OS/Arch: darwin/arm64
Context: default
Experimental: true

Geth

이더리움 노드 전체를 실행하거나 다룰때 사용합니다.

Go 프로그래밍 언어로 구현되어있습니다.

메인넷과 테스트넷에 배포하기 전에 로컬에서 테스트할때 유용하게 사용할수 있습니다.

설치

1
2
3
4
5
6
7
8
9
10
11
% brew tap ethereum/ethereum 
% brew install ethereum

% geth version
Geth
Version: 1.10.26-stable
Architecture: arm64
Go Version: go1.19.3
Operating System: darwin
GOPATH=
GOROOT=

Ganache

개발용 이더리움 블록체인 에뮬레이터입니다.

블록이나 트랜잭션을 테스트하는데 사용됩니다.

그래픽 인터페이스 기반으로 스마트 컨트랙트를 로컬 환경에서 테스트할 수 있습니다.

Node.js / npm

설치

1
2
3
4
5
6
% brew install node

% node -v
v18.6.0
% npm -v
8.13.2

Truffle

개발 속도를 향상시킬 수 있는 솔리디티 기반 프레임워크입니다.

스마트 컨트랙트의 컴파일, 테스트, 배포를 지원합니다.

설치

1
2
3
4
5
6
7
8
% npm install -g truffle

% truffle version
Truffle v5.6.9 (core: 5.6.9)
Ganache v7.5.0
Solidity v0.5.16 (solc-js)
Node v18.6.0
Web3.js v1.7.4

Git

설치

1
2
3
% brew install git
% git --version
git version 2.37.1 (Apple Git-137.1)