컨텐츠로 건너뛰기

명령 줄 인터페이스

시작하기

노드 기계에 SASEUL이 설치되면, 이제 노드를 실행할 준비가 되었습니다. CLI에서 사전 정의된 SASEUL 명령을 실행하여 SASEUL 노드를 직접 조작할 수 있습니다.

아래와 같이 SASEUL 명령을 실행할 수 있습니다.

  1. Docker가 설치된 노드의 경우,

    Terminal window
    docker exec -i saseul-node saseul-script {commandName}
  2. 소스 코드가 설치된 노드의 경우, 아래 경로로 이동합니다.

    Terminal window
    cd <소스 코드 경로>
    ./src/saseul-script

기본 조작

Log

  • 디버그 로그를 표시합니다.

사용법: : $ saseul-script Log <옵션> : $ saseul-script Log —count 10

옵션유형설명
-n —countint (개수)출력할 로그의 줄 수 (0: 전체)
-c —clear모든 로그를 지웁니다.
-f —follow파일이 성장함에 따라 추가된 로그를 출력
-h —help도움말

Start

  • 노드를 시작합니다.
  • 그러나 채굴은 자동으로 시작되지 않습니다.

사용법: : $ saseul-script Start


Stop

  • 노드를 정지합니다.
  • stop 명령이 실패하면 프로세스가 강제 종료됩니다.

사용법: : $ saseul-script Stop


Restart

  • 노드를 재시작합니다.
  • Stop 명령 다음에 Start 명령을 순차적으로 실행합니다.

사용법: : $ saseul-script Restart


Kill

  • 실행 중인 모든 프로세스를 종료합니다.

사용법: : $ saseul-script Kill


StartMining

  • 채굴 프로세스를 시작합니다.
  • saseul 프로세스가 실행 중일 때만 작동합니다.

사용법: : $ saseul-script StartMining


StopMining

  • 채굴 프로세스를 정지합니다.
  • saseul 프로세스가 실행 중일 때만 작동합니다.

사용법: : $ saseul-script StopMining


Info

  • 노드의 현재 상태 정보를 표시합니다.

사용법: : $ saseul-script Info


설정 조작

SetEnv

  • 노드의 env 정보를 설정합니다.
  • 노드 정보, 피어 정보, 채굴자 주소, 노드 엔드포인트를 구성할 수 있습니다.

사용법: : $ saseul-script SetEnv <옵션> : $ saseul-script SetEnv —miner <주소>

옵션유형설명
-a —all모든 env 정보를 설정합니다.
-n —nodestring <개인 키>노드 키를 설정합니다
-p —peerstring <개인 키>피어 키를 설정합니다
-m —minerstring <주소>채굴자 주소를 설정합니다
-e —endpointstring <호스트:포트>엔드포인트를 설정합니다 ("": 리셋)
-h —help도움말

GetEnv

  • 노드의 모든 env 정보를 표시합니다.
  • 노드 정보, 피어 정보, 채굴자 주소, 노드 엔드포인트를 확인할 수 있습니다.

사용법: : $ saseul-script SetEnv <옵션> : $ saseul-script SetEnv —miner <주소>

옵션유형설명
-a —all모든 정보를 표시
-n —node(null, 개인 키, 공개 키, 주소)노드 정보를 표시
-p —peer(null, 개인 키, 공개 키, 주소)피어 정보를 표시
-m —miner채굴자 주소를 표시
-e —endpoint엔드포인트를 표시
-h —help도움말

트래커 조작

AddTracker

  • 피어 투 피어 검색 알고리즘에 트래커를 추가합니다.
  • 노드가 실행 중이면, 일반적으로 평균적으로 약 2-3분 내에 피어들이 연결됩니다.

사용법: : $ saseul-script AddTracker —peer <호스트>


ResetTracker

  • 모든 트래커 정보를 삭제합니다.
  • 피어 정보는 main.saseul.net, aroma.saseul.net, blanc.saseul.net으로 리셋됩니다.

사용법: : $ saseul-script ResetTracker


Peer

  • 피어 정보를 표시합니다.
  • 노드의 데이터를 포함하고 있는 피어는 “Peer”로 연결됩니다.
  • 노드의 데이터를 포함하고 있지 않은 피어는 “알려진 호스트”로 연결됩니다.
  • 도달할 수 없는 피어는 표시되지 않습니다.

사용법: : $ saseul-script Peer


데이터 작업

리셋

  • 모든 데이터를 삭제합니다.
  • 트래커 데이터와 환경 정보 데이터는 삭제되지 않습니다.

사용법: : $ saseul-script Reset


ForceSync

  • 특정 피어에서 블록을 빠르게 동기화합니다.
  • 동기화 후 데이터 일관성 검사가 수행되므로, 악의적인 노드가 동기화하면 네트워크에서 분기될 수 있습니다.

사용법: : $ saseul-script ForceSync —peer


RestoreBlock

  • 최신 블록 중 일부를 삭제하고 다시 동기화합니다.
  • 지정된 수의 리소스 블록과 그 리소스 블록에 기록된 메인 블록을 삭제합니다.
  • 네트워크가 분기된 경우 블록 데이터를 복구하기 위해 사용되는 기능입니다.

사용법: : $ saseul-script RestoreBlock —count


RewindBlock

  • 확정되지 않은 리소스 블록을 삭제하고 다시 동기화합니다.
  • 최신 블록 데이터의 일관성에 오류가 있을 때 사용되는 기능입니다.

사용법: : $ saseul-script RewindBlock —count


Rebundling

  • 블록 정보를 기반으로 상태 데이터를 다시 계산합니다.
  • 최신 블록 데이터의 일관성에 오류가 있을 때 사용되는 기능입니다.

사용법: : $ saseul-script Rebundling


스마트 계약과 요청

SendTransaction

  • 스마트 계약의 메소드를 실행하여 트랜잭션을 생성하고 방송합니다.

사용법: : $ saseul-script SendTransaction : $ saseul-script SendTransaction —method Send —data ’{“to”:"

",“amount”:“1000000”}‘

OptionTypeDescription
-c —cidstring 호출할 계약 ID를 입력합니다.
-m —methodstring 호출할 메소드의 이름을 입력합니다.
-k —keystring 트랜잭션에 서명하기 위해 개인 키를 입력합니다 (선택사항)
-d —datastring 트랜잭션 데이터를 입력합니다 (JSON 형식)
-h —help도움말

LocalRequest

  • 현재 노드에 저장된 데이터를 기반으로 스마트 계약의 메소드를 실행하고 정보를 표시합니다.

사용법: : $ saseul-script LocalRequest : $ saseul-script LocalRequest —method GetBalance —data ’{“address”:"

"}‘

OptionTypeDescription
-c —cidstring 호출할 계약 ID를 입력합니다.
-m —methodstring 호출할 메소드의 이름을 입력합니다.
-k —keystring 요청에 서명하기 위해 개인 키를 입력합니다 (선택사항)
-d —datastring 요청 데이터를 입력합니다 (JSON 형식)
-h —help도움말