를 실행하면된다. 사용 가능한 포괄적인 명령이 나타나는데, 그중 필수적인 명령 몇가지를 알아보겠습니다.
geth에 대한 문서는 깃허브 링크
github.com/ethereum/go-ethereum/wiki/geth에서 찾을 수 있습니다.
이 페이지에서는 geth console API 및 geth 명령 레퍼런스에 대한 링크도 담겨있습니다.
유용한 geth 명령
기본동작을 위한 geth 모드
geth
통신용 콘솔 ( 로그가 없는 사일런트 로그 )
geth console --verbosity 0
명령 도움말
geth help
링키비 테스트넷
geth -rinkeby
계정 관리
geth account
계정 생성
geth account new
메인넷 동기화
geth --fast --cache=1024
링키비 동기화
geth --rinkeby --fast --cache=1024
RPC 모드
geth -rpc
로컬 지갑 접근을 위한 RPC 모드
geth -rpc -rpcapi web3,eth,net,personal
로컬 지갑 접근을 위한 RPC 모드의 rpc 명령어가 안될 때
geth -http -http.api web3,eth,net,personal
커스텀 네트워크 포트 수신
geth --port {포트넘버}
커스텀 RPC 포트 수신
geth --rpc --rpcport {포트넘버}
커스텀 RPC 포트 수신의 RPC 명령어가 안될 때
geth --http --http.port {포트넘버}
실행
최초 실행은
geth
이다.
이런 화면이 보일 것이다.
geth를 입력하면 Geth의 시동이 걸리면서 피어와의 연결, 동기화 프로세스가 시작된다.
geth 콘솔
Geth와 통신하려면 콘솔 모드에서 geth를 열어야 한다.
geth console
명령을 입력하면 아래와 같은 화면이 나타난다.
geth console 이 실행된 모습
지갑확인
Geth 콘솔은 geth와 통신하는 일련의 모듈을 제공한다. 여기에는 지갑 생성, 이더 전송, 컨트랙트 생성, 컨트랙트와의 통신 등의 기능이 포함된다. 예를들어 지갑목록을 보려면 콘솔에 eth.accounts를 입력하면된다.
eth.accounts
아직 아무것도 없는모습
지금은 생성된 지갑이 없으므로 빈 배열이 반환된다. 나중에 지갑을 생성하고 이더를 획득하고 나면 geth 콘솔과 여타 명령을 다시 사용한다면 바뀌어져있을것이다.
로그 메세지 없애기
조금만 딴짓해도 켭켭이 쌓이는 수많은 로그 메세지가 불편할 수 있습니다. 한눈팔면 쌓이는 .
이것을 해결하는 방법이 있습니다.
geth --verbosity 0 console
를 이용해서 애초에 실행할때 안나오게 실행하는 방법이있다.
실행할때부터 로그가 안뜨면서 시작해서 깔끔하다.
이것이 "사일런트" 모드로 실행한 것이다.
geth 링키비 연결
Geth를 메인넷이 아닌 테스트넷에 접근하기 위해서 사용할 수도있다. 프리이빗 체인을 실행할 수 있고 이더리움 프로토콜을 준수하는 다른 테트워크와 통신할 수 도있다. 주로 링키비 테스트넷을 사용해 소중한 이더를 낭비하지 않으면서 컨트랙트를 테스트하고 배포할 것이다. 링키비 테스트넷에 연결하려면 geth -rinkeby 명령을 실행합니다. 이 명령은 링키비 피어와의 연결을 통해 링키비 네트워크 네트워크의 동기화 프로세스를 시작합니다.
geth -rinkeby
링크비 테스트넷에 연결된 모습
geth 계정관리
계정 및 지갑 관리는 geth의 핵심 기능중 하나이며, 특히 개발자 외 사용자들에게 중요한 기능입니다. 계정 관리 인터페이스에 접근하려면
geth account
명령어를 입력하면 됩니다.
이렇게 하면 계정관리에 사용할 수 있는 도움말 페이지와 하위 명령 목록이 표시됩니다.
만약 현재
geth account list
명령을 실행하면
빈 응답을 받게 됩니다.
geth JSON-RPC 서버
Geth는 댑 및 외부 클라이언트와의 통신하는 용도로 JSON-RPC 서버를 실행할 수 있습니다. RPC 모드에서 geth를 실행하려면 geth -rpc 명령을 실행해봅니다.
geth -rpc
RPC모드는 보안상의 이유로 로컬 개인키에 대한 접근을 비활성화 한다. 트랜잭션에 서명하고 전송하려면 RPC가 개인키에 접근할 수 있어야 하므로
위 명령어를 사용해 RPC 서버를 실행하게됩니다. personal 모듈은 계정 서비스에 대한 접근을 제공합니다. personal RPC API를 사용하면 geth 지갑을 인터넷에 노출시킬 수 있다. 외부에서 지갑의 이더를 훔치지 못하게 하는 유일한 방법은 지갑 암호일 것이다. 반드시 강한 암호를 걸어놓아야한다.
geth 포트번호
때떄로 동시에 두 네트워크를 운영해야 하는 상황도 있을 수 있다. 메인넷과 링키비 테스트넷을 동시에 동기화하는 사례가 대표적이다. 기본적으로 geth는 네트워크 작업에 포트 30303 번을, RPC 서버용으로는 포트 8545번을 사용합니다. 포트에서는 한 번에 한 프로그램만 수신할 수 있으므로, 동시에 두 geth 인스턴스를 실행하려고 하면 기본적으로 충돌이 발생합니다. 이를 해결하려면
geth --port 31303
명령으로 인스턴스 중 하나를 다른 네트워크 포트에서 수신하게 설정하면 된다. RPC 서버중 하나를 다른 포트에서 실행하려면 geth -rpc --rpcport 9545 를 실행하면된다. 만약 아래 그림과 같이 실행이 안되고 오류가 발생한다면
댓글