Agora Mainnet

아고라 메인넷 노드 설치 방법

도커엔진 설치

아고라 노드를 실행하기 위해서는 도커엔진을 먼저 설치하고 실행 하고 있어야 합니다. 도크엔진의 설치방법은 이 곳을 참조해 주세요. https://docs.docker.com/engine/install/

리눅스 및 맥 사용자용

Mainnet 설치 (리눅스 및 맥 사용자용)

자세한 내용은 이 곳을 참조해주세요.

  • 설치

    mkdir agora-chain
    cd agora-chain
    /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/bosagora/agora-chain/v0.x.x/agora.sh)"

    설치후에는 반드시 네트워크를 선택하여야 합니다. 네트워크를 선택하지 않으면 기본값이 메인넷이 적용됩니다.

  • 메인 네트워크로 전환하기 (기본값)

    ./agora.sh network mainnet
  • 스크립트 agora.sh 에서 사용가능한 명령어들

    ./agora.sh 
    agora.sh version 2.0.0
    Usage: ./agora.sh PROCESS FLAGS.
    PROCESS can be el-node, cl-node, validator, docker-compose, docker-compose-monitoring, start, stop, upgrade
    
    ./agora.sh network <network to change>
           - <network to change> 는 mainnet, testnet, devnet 중 하나이며 기본값은 mainnet 입니다.
           - <network to change> 를 지정하지 않으면 현재 설정된 네트워크가 표시됩니다.
    
    ./agora.sh el-node ( init, run )
        el-node init
           - 실행계층의 블록데이타를 초기화합니다. 이 시점에서 기존의 모든 블록 데이터가 삭제됩니다.
        el-node run
           - 실행계층의 클라이언트를 실행합니다.
    
    ./agora.sh cl-node ( run )
        cl-node run
           - 합의계층의 클라이언트를 실행합니다.
    
    ./agora.sh validator ( accounts, exit, withdraw, slashing-protection-history )
    
    ./agora.sh validator accounts ( import, list, backup )
        validator accounts import <validator keys folder>
           - 로컬 월렛에 검증자키를 추가합니다.
        validator accounts list
           - 로컬 월렛에 저장된 검증자키를 보여줍니다.
        validator accounts delete
           - 로컬 월렛에서 선택한 검증자키를 제거합니다.
        validator accounts backup <validator keys folder>
           - 로컬 월렛에 저장된 검증자키를 백업합니다.
    
        validator exit
           - 검증자 기능을 자발적으로 종료하는 데 사용됩니다. 이렇게 하면 검증자의 키를 선택하는 화면이 나타납니다.
        validator withdraw <data folder>
           - 미리 생성된 인출 주소 등록 데이터를 네트워크로 전송합니다.
           - 현재 devnet만 지원됩니다. 다른 네트워크는 나중에 지원됩니다.
    
    ./agora.sh validator slashing-protection-history ( export, import ) 
        validator slashing-protection-history export <data folder>
           - 검증자가 작업한 정보를 파일로 저장합니다. 이 시점에서 현재 서버의 유효성 검사기를 중지해야 합니다.
           - 검증자 한 명은 블록당 한 번만 검증해야 합니다. 그렇지 않으면 검사기가 슬래싱될 수 있습니다.
               - 하나의 검증자가 여러 서버에서 실행되는 경우, 해당 검증자는 위의 조건을 위반할 수 있습니다.
               - 검증자의 서버가 다른 서버로 변경되면 검증자가 위의 조건을 위반할 수 있습니다.
               - 이를 방지하려면 검증자가 지금까지 수행한 블록 확인 정보를 옮겨가야 합니다. 
               - 이 때 필요한 기능이 이 명령어입니다.
        validator slashing-protection-history import <data folder>
           - 검증자가 수행한 블록 검증 정보를 등록합니다.
    
    ./agora.sh deposit-cli ( new-mnemonic, existing-mnemonic, generate-bls-to-execution-change )
        deposit-cli new-mnemonic
           - 새로운 니모닉과 함께 검증자키를 생성하기를 원할 때 사용되는 명령어입니다.
        deposit-cli existing-mnemonic
           - 이미 가지고 있는 니모닉을 이용해서 새로운 검증자키를 생성하기를 원할 때 사용되는 명령어입니다.
        deposit-cli generate-bls-to-execution-change <data folder>
           - 검증자의 금액이 인출될 주소를 등록하는 데 필요한 데이터를 생성합니다.
           - 현재 devnet만 지원됩니다. 다른 네트워크는 나중에 지원됩니다.
    
    ./agora.sh docker-compose ( up, down )
        docker-compose up
           - 실행 계층 클라이언트, 합의 계층 클라이언트, 검증자를 실행합니다.
        docker-compose down
           - 실행 계층 클라이언트, 합의 계층 클라이언트, 검증자를 중지합니다.
    
    ./agora.sh docker-compose-monitoring ( up, down )
        docker-compose-monitoring up
           - 실행 계층 클라이언트, 합의 계층 클라이언트, 검증자 와 모니터링에 필요한 컨테이너들를 실행합니다.
        docker-compose-monitoring down
           - 실행 계층 클라이언트, 합의 계층 클라이언트, 검증자 와 모니터링에 필요한 컨테이너들를 중지합니다.
    
    ./agora.sh start
           - 실행 계층 클라이언트, 합의 계층 클라이언트, 검증자 와 모니터링에 필요한 컨테이너들를 실행합니다.
           - 이것은 './agora.sh docker-compose-monitoring up' 와 동일합니다.
    
    ./agora.sh stop
           - 실행 계층 클라이언트, 합의 계층 클라이언트, 검증자 와 모니터링에 필요한 컨테이너들를 중지합니다.
           - 이것은  './agora.sh docker-compose-monitoring down' 와 동일합니다.
    
    ./agora.sh upgrade
           - 가장 최신의 버전이 설치됩니다. 이때 데이타는 보존됩니다.

업그레이드 (리눅스 및 맥 사용자용)

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/bosagora/agora-chain/v0.x.x/upgrade.sh)"

실행 계층 (리눅스 및 맥 사용자용)

  • 실행 계층의 블록데이타를 초기화

    ./agora.sh el-node init
  • 실행 계층의 클라이언트 실행

    ./agora.sh el-node run

합의 계층 (리눅스 및 맥 사용자용)

  • 합의 계층의 클라이언트 실행

    ./agora.sh cl-node run

검증자의 계정 (리눅스 및 맥 사용자용)

  • 니모닉을 가지고 있지 않을 때 검증자키를 생성하기

    ./agora.sh deposit-cli new-mnemonic
  • 니모닉을 가지고 있을 때 검증자키를 생성하기

    ./agora.sh deposit-cli existing-mnemonic
  • 검증자 키를 월렛에 추가하기

    ./agora.sh validator import <your key stores folder>

    또는

    ./agora.sh validator accounts import <your key stores folder>

    <your key stores folder> 는 검증자키가 존재하는 폴더입니다. 입력하지 않으면 기본 폴더 ./validator_keys 로 처리됩니다.

  • 로컬 월렛에 저장된 검증자 계정 출력하기

    ./agora.sh validator accounts list
  • 로컬 월렛에 저장된 검증자 계정을 파일로 백업하기

    ./agora.sh validator accounts backup <folder>

    <folder> 는 백업데이타를 저장할 폴더명입니다. 입력하지 않으면 ./backup-wallet 로 처리됩니다.

검증자 실행 (리눅스 및 맥 사용자용)

  • 검증자 클라이언트 실행하기

    ./agora.sh validator run

검증자의 역활 수행을 종료 (리눅스 및 맥 사용자용)

  • 검증자의 역활 수행을 자발적으로 종료하기

    ./agora.sh validator exit

검증자의 리워드와 예치금을 인출 (리눅스 및 맥 사용자용)

  • 인출이 가능하도록 하기 위해 출금주소가 포함된 서명된 데이타를 생성하기

    ./agora.sh deposit-cli generate-bls-to-execution-change <folder>

    <folder> 는 서명된 데이타가 저장된 폴더입니다. 입력하지 않으면 ./bls_to_execution_changes 로 처리됩니다.

  • 출금주소가 포함된 서명된 데이타를 네트워크로 전송하기

    ./agora.sh validator withdraw <folder>

    <folder> 는 서명된 데이타가 저장된 폴더입니다. 입력하지 않으면 ./bls_to_execution_changes 로 처리됩니다.

슬래싱 방지 (리눅스 및 맥 사용자용)

검증자 한 명은 블록당 한 번만 검증해야 합니다. 그렇지 않으면 검사기가 슬래싱될 수 있습니다. 하나의 검증자가 여러 서버에서 실행되는 경우, 해당 검증자는 위의 조건을 위반할 수 있습니다. 검증자의 서버가 다른 서버로 변경되면 검증자가 위의 조건을 위반할 수 있습니다. 이를 방지하려면 검증자가 지금까지 수행한 블록 확인 정보를 옮겨가야 합니다. 이 때 필요한 기능이 이 명령어입니다.

  • export

    ./agora.sh validator slashing-protection-history export <folder>

    <folder> 는 슬래싱 방지를 위한 데이타가 저장될 폴더입니다. 입력하지 않으면 ./slashing-protection-export 로 처리됩니다.

  • import

    ./agora.sh validator slashing-protection-history import <folder>

    <folder> 는 슬래싱 방지를 위한 데이타가 저장된 폴더입니다. 입력하지 않으면 ./slashing-protection-export 로 처리됩니다.

도커-컴포우즈-사용 (리눅스 및 맥 사용자용)

  1. 실행 계층의 블록데이타를 초기화하기

./agora.sh el-node init
  1. 검증자 키를 임포트하기

./agora.sh validator accounts import <your key stores folder>

<your key stores folder> 는 검증자키가 존재하는 폴더입니다. 입력하지 않으면 ./validator_keys 로 처리됩니다.

  1. 프로세스 자동실행을 위해 월렛의 비밀번호를 기록하기

nano ./root/config/cl/password.txt
  1. 트랜잭션 수수료를 받을 주소를 등록하기

nano ./root/config/cl/proposer_config.json
  1. 도커 컴포우즈를 실행하기

./agora.sh docker-compose up
  1. 도커 컴포우즈를 종료하기

./agora.sh docker-compose down

모니터링을 위한 도커 컴포우즈 사용 (리눅스 및 맥 사용자용)

  1. 실행 계층의 블록데이타를 초기화하기

./agora.sh el-node init
  1. 검증자 키를 임포트하기

./agora.sh validator import <your key stores folder>

또는

./agora.sh validator accounts import <your key stores folder>
  1. 프로세스 자동실행을 위해 월렛의 비밀번호를 기록하기

nano ./root/config/cl/password.txt
  1. 트랜잭션 수수료를 받을 주소를 등록하기

nano ./root/config/cl/proposer_config.json
  1. 도커 컴포우즈를 실행

./agora.sh docker-compose-monitoring up

또는

./agora.sh start
  1. 도커 컴포우즈를 종료

./agora.sh docker-compose-monitoring down

또는

./agora.sh stop

윈도우즈 사용자용

설치 (윈도우즈 사용자용)

  • 설치

    mkdir agora-chain
    cd agora-chain
    curl -S -L -o agora.bat https://raw.githubusercontent.com/bosagora/agora-chain/v0.x.x/agora.bat
    call agora.bat

    설치후에는 반드시 네트워크를 선택하여야 합니다. 네트워크를 선택하지 않으면 기본값이 메인넷이 적용됩니다.

  • 메인 네트워크로 전환하기 (기본값)

    agora.bat network mainnet
  • 스크립트 agora.sh 에서 사용가능한 명령어들

    agora.bat
    agora.bat version 2.0.0
    Usage: agora.bat PROCESS FLAGS.
    PROCESS can be el-node, cl-node, validator, docker-compose, docker-compose-monitoring, start, stop, upgrade
    
    agora.bat network <network to change>
           - <network to change> 는 mainnet, testnet, devnet 중 하나이며 기본값은 mainnet 입니다.
           - <network to change> 를 지정하지 않으면 현재 설정된 네트워크가 표시됩니다.
    
    agora.bat el-node ( init, run )
        el-node init
           - 실행계층의 블록데이타를 초기화합니다. 이 시점에서 기존의 모든 블록 데이터가 삭제됩니다.
        el-node run
           - 실행계층의 클라이언트를 실행합니다.
    
    agora.bat cl-node ( run )
        cl-node run
           - 합의계층의 클라이언트를 실행합니다.
    
    agora.bat validator ( accounts, exit, withdraw, slashing-protection-history )
    
    agora.bat validator accounts ( import, list, backup )
        validator accounts import <validator keys folder>
           - 로컬 월렛에 검증자키를 추가합니다.
        validator accounts list
           - 로컬 월렛에 저장된 검증자키를 보여줍니다.
        validator accounts delete
           - 로컬 월렛에서 선택한 검증자키를 제거합니다.
        validator accounts backup <validator keys folder>
           - 로컬 월렛에 저장된 검증자키를 백업합니다.
    
        validator exit
           - 검증자 기능을 자발적으로 종료하는 데 사용됩니다. 이렇게 하면 검증자의 키를 선택하는 화면이 나타납니다.
        validator withdraw <data folder>
           - 미리 생성된 인출 주소 등록 데이터를 네트워크로 전송합니다.
           - 현재 devnet만 지원됩니다. 다른 네트워크는 나중에 지원됩니다.
    
    agora.bat validator slashing-protection-history ( export, import ) 
        validator slashing-protection-history export <data folder>
           - 검증자가 작업한 정보를 파일로 저장합니다. 이 시점에서 현재 서버의 유효성 검사기를 중지해야 합니다.
           - 검증자 한 명은 블록당 한 번만 검증해야 합니다. 그렇지 않으면 검사기가 슬래싱될 수 있습니다.
               - 하나의 검증자가 여러 서버에서 실행되는 경우, 해당 검증자는 위의 조건을 위반할 수 있습니다.
               - 검증자의 서버가 다른 서버로 변경되면 검증자가 위의 조건을 위반할 수 있습니다.
               - 이를 방지하려면 검증자가 지금까지 수행한 블록 확인 정보를 옮겨가야 합니다. 
               - 이 때 필요한 기능이 이 명령어입니다.
        validator slashing-protection-history import <data folder>
           - 검증자가 수행한 블록 검증 정보를 등록합니다.
    
    agora.bat deposit-cli ( new-mnemonic, existing-mnemonic, generate-bls-to-execution-change )
        deposit-cli new-mnemonic
           - 새로운 니모닉과 함께 검증자키를 생성하기를 원할 때 사용되는 명령어입니다.
        deposit-cli existing-mnemonic
           - 이미 가지고 있는 니모닉을 이용해서 새로운 검증자키를 생성하기를 원할 때 사용되는 명령어입니다.
        deposit-cli generate-bls-to-execution-change <data folder>
           - 검증자의 금액이 인출될 주소를 등록하는 데 필요한 데이터를 생성합니다.
           - 현재 devnet만 지원됩니다. 다른 네트워크는 나중에 지원됩니다.
    
    agora.bat docker-compose ( up, down )
        docker-compose up
           - 실행 계층 클라이언트, 합의 계층 클라이언트, 검증자를 실행합니다.
        docker-compose down
           - 실행 계층 클라이언트, 합의 계층 클라이언트, 검증자를 중지합니다.
    
    agora.bat docker-compose-monitoring ( up, down )
        docker-compose-monitoring up
           - 실행 계층 클라이언트, 합의 계층 클라이언트, 검증자 와 모니터링에 필요한 컨테이너들를 실행합니다.
        docker-compose-monitoring down
           - 실행 계층 클라이언트, 합의 계층 클라이언트, 검증자 와 모니터링에 필요한 컨테이너들를 중지합니다.
    
    agora.bat start
           - 실행 계층 클라이언트, 합의 계층 클라이언트, 검증자 와 모니터링에 필요한 컨테이너들를 실행합니다.
           - 이것은 './agora.sh docker-compose-monitoring up' 와 동일합니다.
    
    agora.bat stop
           - 실행 계층 클라이언트, 합의 계층 클라이언트, 검증자 와 모니터링에 필요한 컨테이너들를 중지합니다.
           - 이것은  './agora.sh docker-compose-monitoring down' 와 동일합니다.
    
    agora.bat upgrade
           - 가장 최신의 버전이 설치됩니다. 이때 데이타는 보존됩니다.

업그레이드 (윈도우즈 사용자용)

curl -S -L -o upgrade.bat https://raw.githubusercontent.com/bosagora/agora-chain/v0.x.x/upgrade.bat
upgrade.bat

실행 계층 (윈도우즈 사용자용)

  • 실행 계층의 블록데이타를 초기화

    agora.bat el-node init
  • 실행 계층의 클라이언트 실행

    agora.bat el-node run

합의 계층 (윈도우즈 사용자용)

  • 합의 계층의 클라이언트 실행

    agora.bat cl-node run

검증자의 계정 (윈도우즈 사용자용)

  • 니모닉을 가지고 있지 않을 때 검증자키를 생성하기

    agora.bat deposit-cli new-mnemonic
  • 니모닉을 가지고 있을 때 검증자키를 생성하기

    agora.bat deposit-cli existing-mnemonic
  • 검증자 키를 월렛에 추가하기

    agora.bat validator import <your key stores folder>

    또는

    agora.bat validator accounts import <your key stores folder>

    <your key stores folder> 는 검증자키가 존재하는 폴더입니다. 입력하지 않으면 ./validator_keys 로 처리됩니다.

  • 로컬 월렛에 저장된 검증자 계정 출력하기

    agora.bat validator accounts list
  • 로컬 월렛에 저장된 검증자 계정을 파일로 백업하기

    agora.bat validator accounts backup <folder>

    <folder> 는 백업데이터를 저장할 폴더입니다. 입력하지 않으면 ./backup-wallet 로 처리됩니다.

검증자 실행 (윈도우즈 사용자용)

  • 검증자 클라이언트 실행하기

    agora.bat validator run

검증자의 역활 수행을 종료 (윈도우즈 사용자용)

  • 검증자의 역활 수행을 자발적으로 종료하기

    agora.bat validator exit

검증자의 리워드와 예치금을 인출 (윈도우즈 사용자용)

  • 인출이 가능하도록 하기 위해 출금주소가 포함된 서명된 데이타를 생성하기

    agora.bat deposit-cli generate-bls-to-execution-change <folder>

    <folder> 는 서명된 데이타가 저장될 폴더입니다. 입력하지 않으면 ./bls_to_execution_changes 로 처리됩니다.

  • 출금주소가 포함된 서명된 데이타를 네트워크로 전송하기

    agora.bat validator withdraw <folder>

    <folder> 는 서명된 데이타가 저장된 폴더입니다. 입력하지 않으면 ./bls_to_execution_changes로 처리됩니다.

슬래싱 방지 (윈도우즈 사용자용)

  • export

    ./agora.bat validator slashing-protection-history export <folder>

    <folder> 는 슬래싱 방지를 위한 데이타가 저장될 폴더입니다. 입력하지 않으면 ./slashing-protection-export 로 처리됩니다.

  • import

    ./agora.bat validator slashing-protection-history import <folder>

    <folder> 는 슬래싱 방지를 위한 데이타가 저장된 폴더입니다. 입력하지 않으면 ./slashing-protection-export 로 처리됩니다.

도커 컴포우즈 사용 (윈도우즈 사용자용)

  1. 실행 계층의 블록데이타를 초기화하기

agora.bat el-node init
  1. 검증자 키를 임포트하기

agora.bat validator import <your key stores folder>

또는

agora.bat validator accounts import <your key stores folder>
  1. 프로세스 자동실행을 위해 월렛의 비밀번호를 기록하기

notepad ./root/config/cl/password.txt
  1. 트랜잭션 수수료를 받을 주소를 등록하기

notepad ./root/config/cl/proposer_config.json
  1. 도커 컴포우즈를 실행

agora.bat docker-compose up
  1. 도커 컴포우즈를 종료

agora.bat docker-compose down

모니터링을 위한 도커 컴포우즈 사용 (윈도우즈 사용자용)

  1. 실행 계층의 블록데이타를 초기화하기

agora.bat el-node init
  1. 검증자 키를 임포트하기

agora.bat validator import <your key stores folder>

또는

agora.bat validator accounts import <your key stores folder>
  1. 프로세스 자동실행을 위해 월렛의 비밀번호를 기록하기

notepad ./root/config/cl/password.txt
  1. 트랜잭션 수수료를 받을 주소를 등록하기

notepad ./root/config/cl/proposer_config.json
  1. 도커 컴포우즈를 실행

agora.bat docker-compose-monitoring up

또는

agora.bat start
  1. 도커 컴포우즈를 종료

agora.bat docker-compose-monitoring down

또는

agora.bat stop

추가 정보

AWS에서 Ubuntu에 BOSagora 노드 설치

NHN 클라우드의 Ubuntu 에 BOSagora 노드 설치하기

Agora-cl 의 문서

Go to website https://agora-cl-docs.bosagora.org/

검증자의 상태와 리워드를 체크하기

Go to website https://www.agorascan.io/

Last updated