Skip to content

Instantly share code, notes, and snippets.

Embed
What would you like to do?
Setting Up APIS Core

APIS Core for Docker

Docker Stats

APIS Core를 Docker 컨테이너 내에서 구동하기 위한 Docker 이미지입니다.

APIS 마스터노드, PoS 채굴, RPC 기능을 지원합니다.

Engilsh Version

목차

1. 권장 시스템 사양

2. 권장 VPS(가상서버) 서비스

3. Docker 이미지로 시작하기

4. Preloaded 버전 Docker 이미지로 시작하기

5. Preloaded 버전 AMI로 시작하기

6. APIS Core 구동

7. APIS Core 업데이트

8. APIS Core를 Preloaded 버전 APIS Core로 업데이트

9. APIS Core 삭제

10. Credits

권장 시스템 사양

  • Ubuntu 운영체제와 Docker가 설치된 PC, 클라우드 서버(인스턴스), 또는 VPS
  • 평균 400kbps 속도의 안정적인 네트워크
  • Ubuntu 16.04 LTS 또는 그 이후 버전의 운영체제
  • 1 vCPU와 동등한 수준의 프로세서 성능 (AWS 기준)
  • 최소 2GB의 RAM(메모리)
  • 최소 25GB의 블록체인 파일 저장을 위한 저장 공간 용량

권장 VPS(가상서버) 서비스

VPS 제공 회사명 서비스명 시스템 성능
Amazon Web Services (AWS) t2.small (EC2) 1 CPU / 2GB RAM
Microsoft Azure D1 (Linux VM) 1 Core / 3.5GB RAM / 50GB Storage
Google Cloud Platform n1-standard-1 (Compute Engine) 1 vCPU / 3.75GB RAM
Vultr VC2 1 vCPU / 2048MB RAM

Docker 이미지로 시작하기

누구든지 아래의 명령어를 통해 APIS Core Docker 이미지를 받을 수 있습니다 :

$ sudo docker pull apisplatform/apisj
...
Status: Downloaded newer image for apisplatform/apisj:latest

$ cd ~
$ mkdir apisData
$ sudo docker run --net=host -it --name apisj -v ~/apisData:/apis/apisData apisplatform/apisj /bin/bash
...
root@abcdef012345:/#

그 이후, 받은 이미지를 사용해 본인의 APIS Core Docker 컨테이너를 생성하고 관리할 수 있습니다.

또한, 블록체인 데이터와 키스토어 파일이 들어가 있는 ~/apisData 디렉토리를 확인할 수도 있습니다.

Preloaded 버전 Docker 이미지로 시작하기

빠르게 싱크를 받고자 하는 분들을 위해, APIS 팀에서는 미리 싱크된 버전을 다운로드할 수 있는 선택지를 제공합니다.

누구든지 아래의 명령어를 통해 미리 싱크된 APIS Core Docker 이미지(Preloaded)를 받을 수 있습니다 :

$ sudo docker pull apisplatform/apisj:preloaded
...
Status: Downloaded newer image for apisplatform/apisj:preloaded

$ cd ~
$ mkdir apisData
$ sudo docker run --net=host -it --name apisj -v ~/apisData:/apis/apisData apisplatform/apisj:preloaded /bin/bash
...
root@abcdef012345:/#

그 이후, 받은 이미지를 사용해 본인의 Preloaded 버전 APIS Core Docker 컨테이너를 생성하고 관리할 수 있습니다.

Preloaded 버전 AMI로 시작하기

APIS 팀은 아마존 웹 서비스(AWS)에서 사용할 수 있는 Preloaded 버전 APIS AMI(Amazon Machine Image)를 제공합니다.

누구나 이 APIS Preloaded AMI를 Amazon Marketplace에서 선택할 수 있습니다. 사용하려면 간단하게 AWS EC2 인스턴스를 생성할 때 APIS Preloaded AMI를 선택하면 됩니다.

APIS Preloaded AMI를 사용해 생성한 AWS instance에서는 이 명령어만 입력하면 됩니다 :

$ sudo docker restart apisj
$ sudo docker attach apisj
...
root@abcdef012345:/#

그 이후, 본인의 APIS Core Docker 컨테이너를 생성하고 관리할 수 있습니다.

APIS Core 구동

  1. apis-core 스크립트를 sh 명령어로 실행합니다

     root@abcdef012345:/# sh ./apis-core
    
  2. 채굴 옵션을 설정합니다 (APIS 팀은 PC 지갑에서 개인키를 만든 다음 로드하는 방식을 추천합니다)

     You can get rewards through APIS Block mining.
     You should input Private key of a miner to start mining.
     The chance of getting reward goes higher with the registered miner's balance.
     --
     No Private key is found.
     --
     1. Generate a new Private key
     2. Input your Private key
     3. Exit
     >> 2
    
     Please input your Private key.
     >> d4e68558977bc0aaaaeced983c574bffd0e2d98123a7a687adbba58c8fbfffff
    
     Please input your password : 
     Please confirm your password : 
     Please input alias : testMiner
    
  3. 잠긴 개인키를 로딩한 뒤, 비밀번호로 잠금을 해제해 채굴을 시작합니다

     1. Generate a new Private key
     2. Import your Private key
     3. Select coinbase from locked Private key file
     4. Deactivate mining function
     5. Exit
     >> 3
     Which address would you like to mining and enable mining?
     [1] ff275aa2cc4661ec61145089331b3666d781a348
     >> 1
     Please enter the password of [ff275aa2cc4661ec61145089331b3666d781a348]
     >>
     Mining is enabled and saved to settings.
    

    이 단계를 마무리하면, 마스터노드 설정 단계로 넘어가게 됩니다.

  4. 마스터노드 옵션을 설정합니다 (APIS 팀은 PC 지갑에서 개인키를 만들어 잔고와 미네랄을 채운 뒤 로드하는 방식을 추천합니다)

     You should input Private key of a masternode.
     The balance of the Masternode must be exactly 50,000, 200,000, and 500,000 APIS.
     --
     1. Generate a new Private key
     2. Import your Private key
     3. Select Masternode from locked Private key and enable masternode
     4. Deactivate Masternode function
     5. Exit
     >>
    

    마스터노드 설정은 이전 채굴 설정과 동일한 방법으로 진행됩니다.
    필히 조건에 부합하는 지갑을 등록하세요. 그렇지 않으면 마스터노드가 실행되지 않을 것입니다.

     Please enter the address to receive the Masternode's reward instead.
     >> AAAAA....12345
    

    그리고 위와 같은 단계에서 마스터노드 보상을 받을 지갑의 주소를 입력할 수 있습니다.

  5. 원한다면 RPC 옵션을 설정하세요

     The current setting is as follows.
    
     use_rpc             : null
     port                : null
     id                  : null
     password            : null
     max_connections     : null
     allow_ip            : null
    
     Do you want to change the settings?
     0. Disable RPC server
     1. Enable RPC server with this setting
     2. Change port
     3. Change id
     4. Change password
     5. Change max_connections
     6. Change allow_ip
     7. Exit
     >>
    

APIS Core 동작 확인

20:45:27.428 INFO  [ApisFactory.java:62]	  Starting APIS...
20:45:29.421 INFO  [Initializer.java:49]	  Running apis-mainnet.json, core version: ...
...

APIS Core 업데이트

  1. CTRL + C를 눌러 Docker 컨테이너 내에서 APIS Core를 중지합니다.

  2. exit을 입력해 Docker 컨테이너를 중지합니다.

     root@abcdef012345:/# exit
     exit
    
     username@ubuntu:~$
    
  3. 구 버전 컨테이너를 삭제합니다. (키스토어 파일과 블록 데이터는 삭제되지 않습니다. 하지만 파일을 백업해두는 것을 추천합니다)

     $ sudo docker rm apisj
    
  4. 업데이트된 Docker 이미지를 받은 뒤, 컨테이너를 다시 시작합니다.

     $ sudo docker pull apisplatform/apisj
     $ sudo docker run --net=host -it --name apisj -v ~/apisData:/apis/apisData apisplatform/apisj /bin/bash
     ...
     root@abcdef012345:/#
    
  5. apis-core 스크립트를 다시 실행시킵니다.

     root@abcdef012345:/# sh apis-core
    

APIS Core를 Preloaded 버전 APIS Core로 업데이트

  1. CTRL + C를 눌러 Docker 컨테이너 내에서 APIS Core를 중지합니다.

  2. exit을 입력해 Docker 컨테이너를 중지합니다.

     root@abcdef012345:/# exit
     exit
    
     username@ubuntu:~$
    
  3. 구 버전 컨테이너를 삭제합니다. (키스토어 파일과 블록 데이터는 삭제되지 않습니다. 하지만 파일을 백업해두는 것을 추천합니다)

     $ sudo docker rm apisj
    
  4. 업데이트된 Preloaded Docker 이미지를 받은 뒤, 컨테이너를 다시 시작합니다.

     $ sudo docker pull apisplatform/apisj:preloaded
     $ sudo docker run --net=host -it --name apisj -v ~/apisData:/apis/apisData apisplatform/apisj:preloaded /bin/bash
     ...
     root@abcdef012345:/#
    
  5. apis-core 스크립트를 다시 실행시킵니다.

     root@abcdef012345:/# sh apis-core
    

APIS Core 삭제

  1. CTRL + C를 눌러 Docker 컨테이너 내에서 APIS Core를 중지합니다.

  2. exit을 입력해 Docker 컨테이너를 중지합니다.

     root@abcdef012345:/# exit
     exit
    
     username@ubuntu:~$
    
  3. 구 버전 컨테이너를 삭제합니다.

     $ sudo docker rm apisj
    
  4. apisData 디렉토리를 삭제합니다. 이 디렉토리를 삭제하면 키스토어 파일과 블록 데이터가 삭제되니 주의하세요.

     $ sudo docker rm apisj
    

Credits

APIS 개발 팀 & The Oxchild Pte.Ltd.

Ryan이 작성함.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.