CLI

CLI

    Go 언어로 블록체인 메인넷 만들기 - CLI(Command Line Interface)

    메인넷 그 자체와는 관련이 없긴 하다만, 잠깐 쉬어가는 느낌으로 우리가 만든 블록체인을 조금 더 쉽게 조작할 수 있도록 커맨드 라인 프로그램을 만들어보자. 지난 포스트에서 작성한 내용을 테스트하려면 두 번의 실행이 필요하다고 했다. 이를 main() 함수에 작성하려면 코드를 주석처리해야 하는 등 번거롭고 추후를 도모하기 위해서라도 만들어두면 좋을 듯하여 만들어본다. 점점 blockchain_go 에 나온 코드들이 왜 그렇게 쓰였는지 조금씩 알게되는 것 같다. type CLI 이 타입은 CLI 와 관련있는 메서드를 정의하고 동작을 정의하기 위해 존재한다. type CLI struct {} func .createBlockchain() 블록체인을 생성하는 메서드다. 뭔가 이상함이 느껴질지도 모르겠다. NewB..

    Go: flag 패키지로 CLI 도구 만들기

    flag Go 의 flag 패키지는 CLI(Command Line Interface) 어플리케이션을 작성하기 위해 사용하는 내장 패키지이다. 주로 서브 커맨드가 없는 싱글 커맨드에 대해 옵션을 지정하여 사용할 때 사용한다. 가장 간단한 사용법은 아래와 같다. 예를 들어 사용자에게 --port, --p 옵션을 통해 포트를 지정할 수 있는 옵션을 지정하여 값을 받는다고 생각해보자. package main import ( "flag" ) func main() { var port int flag.IntVar(&port, "port", 3000, "") flag.IntVar(&port, "p", 3000, "") flag.Parse() } 어플리케이션의 코드가 main.go 라고 가정해보면 다음과 같이 사용할 수..