메인 콘텐츠로 건너뛰기

Hello World — Savitri에서의 첫 번째 트랜잭션

이 튜토리얼은 처음부터 Savitri 테스트넷에서 첫 번째 트랜잭션을 전송하는 과정을 안내합니다. 본인에게 맞는 경로를 선택하세요.

경로대상시간사전 요구사항
A. 브라우저 Wallet크립토 사용자2분Chrome/Brave
B. 모바일 앱모바일 사용자3분iOS 또는 Android
C. 데스크탑 인스톨러비기술적 사용자5분Windows 또는 macOS
D. Docker (개발자)개발자5분Docker 설치됨
E. 소스에서 빌드Rust 개발자15분Rust 1.82+

A. 브라우저 Wallet

시간: 2분

  1. Chrome 웹 스토어에서 Savitri Wallet 확장 프로그램 설치

  2. 확장 프로그램을 열고 Wallet 생성 클릭

  3. 12단어 시드 구문을 적어두고 안전하게 보관

  4. Wallet이 자동으로 Savitri 테스트넷에 연결됨

  5. 파우셋에서 테스트넷 토큰 받기:

    • Wallet 열기
    • 테스트넷 토큰 요청 클릭
    • 확인을 위해 10초 대기
  6. 첫 번째 트랜잭션 전송:

    • 전송 클릭
    • 임의의 테스트넷 주소 입력 (또는 wallet에 표시된 예시 주소 사용)
    • 금액 입력 (예: 10 SAVI)
    • 확인 클릭
  7. Wallet의 기록 탭에서 트랜잭션 확인

완료했습니다. Savitri에서 wallet을 만들고, 토큰을 받고, 트랜잭션을 전송했습니다.


B. 모바일 앱

시간: 3분

  1. Savitri 앱 다운로드:

  2. 앱을 열고 새 Wallet 만들기

  3. 시드 구문을 안전하게 저장

  4. 앱이 테스트넷에 연결되고 백그라운드에서 경량 노드를 시작

  5. 받기를 탭하여 wallet 주소 확인

  6. 파우셋을 탭하여 무료 SAVI 테스트넷 받기

  7. 전송 탭 → 수신자 주소 입력 → 금액 입력 → 확인

  8. 활동에 트랜잭션이 표시되는 것 확인

추가: 노드 탭으로 이동하여 lightnode 상태, 연결된 피어, PoU 점수를 확인하세요.


C. 데스크탑 인스톨러

시간: 5분

  1. 인스톨러 다운로드:

  2. 인스톨러를 실행하고 마법사를 따릅니다 (안내가 있는 15단계)

  3. 노드 유형 선택:

    • Lightnode (처음 사용자에게 권장) — 최소 리소스
    • Masternode — 전체 검증자 (8GB+ RAM 필요)
  4. 인스톨러가 노드 바이너리를 다운로드하고, 키를 생성하며, 모든 것을 설정

  5. 노드 시작 클릭 — 노드가 테스트넷에 연결됨

  6. Wallet 탭 → Wallet 만들기 → 시드 구문 저장

  7. 파우셋 클릭 → 테스트넷 토큰 받기

  8. 전송 클릭 → 수신자 입력 → 금액 입력 → 확인

  9. 대시보드 탭에서 실시간 메트릭 확인: 블록 높이, 피어, PoU 점수


D. Docker (개발자)

시간: 5분

사전 요구사항

1단계: Lightnode 시작

docker run -d --name savitri-node \
-p 4001:4001 -p 8545:8545 -p 9090:9090 \
savitri/lightnode:testnet

2단계: 실행 확인

curl -s http://localhost:8545 -X POST \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","method":"chain_getBlockHeight","params":[],"id":1}'

예상 응답:

{"jsonrpc":"2.0","result":{"height":12345},"id":1}

3단계: Wallet 생성

# 새 키 쌍 생성
curl -s http://localhost:8545 -X POST \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","method":"wallet_create","params":[],"id":2}'

반환된 주소와 개인 키를 저장하세요.

4단계: 테스트넷 토큰 받기

curl -s http://localhost:8545 -X POST \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","method":"faucet_request","params":["YOUR_ADDRESS"],"id":3}'

5단계: 잔액 확인

curl -s http://localhost:8545 -X POST \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","method":"account_getBalance","params":["YOUR_ADDRESS"],"id":4}'

6단계: 트랜잭션 전송

curl -s http://localhost:8545 -X POST \
-H "Content-Type: application/json" \
-d '{
"jsonrpc":"2.0",
"method":"tx_send",
"params":{
"from":"YOUR_ADDRESS",
"to":"RECIPIENT_ADDRESS",
"amount":"1000000000000000000",
"private_key":"YOUR_PRIVATE_KEY"
},
"id":5
}'

금액은 wei (18 소수점) 단위입니다. 1000000000000000000 = 1 SAVI.

7단계: 전체 로컬 테스트넷 실행 (선택 사항)

git clone --recurse-submodules https://github.com/Savitri-Network/savitri-network.git
cd savitri-network/savitri-testnet
docker-compose up -d

이 명령은 2개의 masternode, 1개의 lightnode, 1개의 guardian, Prometheus, Grafana를 시작합니다.


E. 소스에서 빌드

시간: 15분

사전 요구사항

# macOS
brew install rustup cmake ninja llvm openssl zstd lz4 ccache protobuf
rustup install stable

# Ubuntu / Debian
sudo apt install build-essential pkg-config clang llvm-dev libclang-dev \
cmake ninja-build libssl-dev zlib1g-dev liblz4-dev libzstd-dev
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh

# Windows — C++ 워크로드 + Windows SDK가 포함된 Visual Studio Build Tools 설치

1단계: 클론 및 빌드

git clone --recurse-submodules https://github.com/Savitri-Network/savitri-network.git
cd savitri-network

# Lightnode 빌드
cargo build --release -p savitri-lightnode

2단계: 노드 시작

./target/release/lightnode \
--listen-port 4001 \
--tx-interval-secs 2 \
--block-interval-secs 10 \
--max-block-txs 32 \
--bootstrap <PEER_ID>@/ip4/<TESTNET_IP>/tcp/4002

현재 테스트넷 부트스트랩 주소는 설정 참조에서 확인하세요.

3단계: 키 생성

cargo build --release -p savitri-sdk
./target/release/key_generator

공개 키 (주소)와 개인 키가 반환됩니다.

4단계: RPC를 통해 트랜잭션 전송

curl -s http://localhost:8545 -X POST \
-H "Content-Type: application/json" \
-d '{
"jsonrpc":"2.0",
"method":"tx_send",
"params":{
"from":"YOUR_ADDRESS",
"to":"RECIPIENT_ADDRESS",
"amount":"1000000000000000000",
"private_key":"YOUR_PRIVATE_KEY"
},
"id":1
}'

5단계: 토큰 배포 (선택 사항)

전체 튜토리얼 참조: SAVITRI-20 토큰 배포


다음 단계

목표리소스
아키텍처 이해아키텍처 개요
토큰 배포토큰 배포 튜토리얼
검증자 (masternode) 실행노드 유형
SDK로 개발SDK 개요
RPC API 탐색RPC 메서드 참조
커뮤니티 참여Discord
토크노믹스 읽기토큰 할당
전체 문서docs.savitrinetwork.com