문서
노드 운영
tintd는 검증자 프로그램입니다. 이 페이지는 로컬 테스트 네트워크, 명령어, 공개 테스트 노드의 구성 방식을 다룹니다.
테스트 네트워크: 코인에는 가치가 없습니다
명령어
| 명령어 | 기능 |
|---|---|
tintd testnet | 로컬 테스트 네트워크의 파일을 만듭니다. |
tintd run | 검증자 하나를 실행합니다. |
tintd pay | 시드 파일의 지갑에서 코인을 보냅니다. |
tintd swap | 시드 파일 지갑의 코인 하나를 풀을 통해 다른 코인으로 교환합니다. |
한 컴퓨터의 로컬 테스트 네트워크
검증자 네 개의 파일을 만든 다음, 각각을 별도의 터미널에서 시작합니다.
tintd testnet --dir net --addresses 127.0.0.1:4100,127.0.0.1:4101,127.0.0.1:4102,127.0.0.1:4103tintd run --local \
--genesis net/genesis.bin \
--validators net/validators.txt \
--key net/validator-0/key \
--data net/validator-0/data \
--rpc 127.0.0.1:4200검증자 1~3도 각자의 --key, --data로 반복하며, 지갑 인터페이스도 쓰려면 서로 다른 --rpc 포트를 지정합니다. --local은 한 컴퓨터의 네트워크에 필요한 사설 주소를 허용합니다.
testnet은 genesis.bin, validators.txt, 검증자별 키가 든 폴더, 그리고 모든 테스트 코인을 가진 지갑의 시드인 faucet.seed를 만듭니다. 시드는 비공개로 보관하세요.
명령줄에서 코인 보내기와 스왑
tintd pay --node http://127.0.0.1:4200 --seed net/faucet.seed --to tint1... --amount 100tintd pay --node http://127.0.0.1:4200 --seed net/faucet.seed --to tint1... --amount 50 --coin TUSDtintd swap --node http://127.0.0.1:4200 --seed net/faucet.seed --amount 10 --buy TUSD--coin이 없으면 pay는 기본 코인을 보냅니다. swap은 --pay로 다른 코인을 지정하지 않는 한 기본 코인으로 지불하며, 스왑하는 두 코인 중 하나는 항상 기본 코인입니다.
tintd run 플래그
| 플래그 | 의미 |
|---|---|
--genesis | 제네시스 블록 파일입니다. |
--validators | 검증자 목록 파일입니다. |
--key | 이 검증자의 개인 키 파일입니다. |
--data | 이 검증자의 블록을 저장하는 디렉터리입니다. |
--listen | 수신 대기 주소입니다. 기본값은 검증자 목록에 있는 주소입니다. |
--metrics | 메트릭을 제공할 주소입니다. 지정하지 않으면 꺼져 있습니다. |
--rpc | 지갑에 HTTP로 서비스할 주소입니다. 지정하지 않으면 꺼져 있습니다. |
--rpc-behind-proxy | 지갑이 이 컴퓨터의 리버스 프록시를 거쳐 --rpc에 접속합니다. 클라이언트를 X-Forwarded-For로 셉니다. |
--local | 한 컴퓨터의 네트워크를 위해 사설 주소를 허용합니다. |
--log-json | 로그를 JSON 라인으로 기록합니다. |
--log-level | error, warn, info(기본값), debug, trace 중 하나입니다. |
--idle-block-ms | 대기 중인 결제가 없는 체인이 블록 사이에 쉬는 시간(밀리초)입니다. 기본값은 5000, 최대 60000입니다. 모든 검증자에 같은 값을 지정하세요. |
공개 테스트 노드의 구성
https://node.tint.top의 공개 노드는 검증자 네 개를 실행하는 서버 한 대입니다. 따라서 네트워크가 동작하는지를 시험할 뿐 탈중앙화에 대해서는 아무것도 증명하지 않습니다.
| 항목 | 위치 |
|---|---|
| 검증자 네 개 | systemd 유닛 tint-validator@0부터 @3까지, 127.0.0.1:4100부터 4103으로 통신 |
| 지갑 인터페이스 | 검증자 0, 127.0.0.1:4200, 외부에서 접근 불가 |
| HTTPS | 443 포트의 Caddy, /v1/*를 지갑 인터페이스로 전달 |
| 체인 데이터 | /var/lib/tint/validator-N/data |
- 프록시는 접근 로그를 남기지 않습니다. 누가 어떤 주소에서 무엇을 요청했는지의 기록은 프라이버시 네트워크가 보관하지 말아야 할 정보입니다.
- 메트릭 포트도 열린 검증자 포트도 없으며, 검증자들은 루프백 인터페이스에서 서로 통신합니다.
- 검증자는 모든 블록을 영구히 보관합니다. 디스크 사용량은
du -sh /var/lib/tint/validator-*/data로 확인하세요. - vCPU 1개, 2 GB 서버에서 각 검증자는 처음 시작한 직후 약 92 MB의 메모리를 사용했으며, 서비스 파일은 하나당 1 GB로 제한합니다.
실행 중인 노드 살펴보기
curl -s http://127.0.0.1:4200/v1/statussystemd로 관리하는 서버에서는 systemctl status 'tint-validator@*'로 유닛을, journalctl -u 'tint-validator@*' -n 50으로 최근 로그 줄을 볼 수 있습니다.
지갑이 내 노드를 보게 하기
지갑의 설정에서 공용 노드를 내 노드로 바꿀 수 있습니다. 노드는 지갑 인터페이스를 HTTPS로 제공해야 하며, 지갑의 다른 데이터와 같은 네트워크, 즉 같은 첫 블록에 속해야 합니다. 새 첫 블록을 만난 지갑은 새 체인을 처음부터 읽습니다.