명령 줄 인터페이스
시작하기
노드 기계에 SASEUL이 설치되면, 이제 노드를 실행할 준비가 되었습니다. CLI에서 사전 정의된 SASEUL 명령을 실행하여 SASEUL 노드를 직접 조작할 수 있습니다.
아래와 같이 SASEUL 명령을 실행할 수 있습니다.
-
Docker가 설치된 노드의 경우,
Terminal window docker exec -i saseul-node saseul-script {commandName} -
소스 코드가 설치된 노드의 경우, 아래 경로로 이동합니다.
Terminal window cd <소스 코드 경로>./src/saseul-script
기본 조작
Log
- 디버그 로그를 표시합니다.
사용법: : $ saseul-script Log <옵션> : $ saseul-script Log —count 10
| 옵션 | 유형 | 설명 |
|---|---|---|
| -n —count | int (개수) | 출력할 로그의 줄 수 (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 —node | string <개인 키> | 노드 키를 설정합니다 |
| -p —peer | string <개인 키> | 피어 키를 설정합니다 |
| -m —miner | string <주소> | 채굴자 주소를 설정합니다 |
| -e —endpoint | string <호스트:포트> | 엔드포인트를 설정합니다 ("": 리셋) |
| -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
| Option | Type | Description |
|---|---|---|
| -c —cid | string | 호출할 계약 ID를 입력합니다. |
| -m —method | string | 호출할 메소드의 이름을 입력합니다. |
| -k —key | string | 트랜잭션에 서명하기 위해 개인 키를 입력합니다 (선택사항) |
| -d —data | string | 트랜잭션 데이터를 입력합니다 (JSON 형식) |
| -h —help | 도움말 |
LocalRequest
- 현재 노드에 저장된 데이터를 기반으로 스마트 계약의 메소드를 실행하고 정보를 표시합니다.
사용법:
: $ saseul-script LocalRequest
| Option | Type | Description |
|---|---|---|
| -c —cid | string | 호출할 계약 ID를 입력합니다. |
| -m —method | string | 호출할 메소드의 이름을 입력합니다. |
| -k —key | string | 요청에 서명하기 위해 개인 키를 입력합니다 (선택사항) |
| -d —data | string | 요청 데이터를 입력합니다 (JSON 형식) |
| -h —help | 도움말 |