Sui Network 와 상호작용하기

윤따·2025년 2월 26일
0

관리자 권한으로 sui cli 설치

choco install sui -y

sui 네트워크에 연결

sui client

활성화된 주소 확인

sui client active-address

기본적으로 enter 만 누르면 sui test server 에 연결된다.

어떤 네트워크에 연결된건지 확인

sui client envs

새로운 지갑 생성

sui client new-address ed25519

다른 지갑 활성화

sui client switch --address <변경할-지갑-주소>

네트워크 변경

sui client switch --env devnet

sui 토큰 받기
테스트 네트워크에서는 무료로 받을 수 있음

sui client faucet

만약 위 명령어가 작동하지 않으면, 직접 웹에서 받을 수도 있음:
👉Sui Faucet 접속 → 지갑 주소 입력 후 토큰 요청

특정 주소에 토큰 보내기

sui client faucet --address <YOUR_SUI_ADDRESS>

typescript SDK 를 이용하여 애플리케이션에서 토큰 요청

import { getFaucetHost, requestSuiFromFaucetV0 } from '@mysten/sui/faucet';

// Devnet Faucet 서버에서 SUI 요청
await requestSuiFromFaucetV0({
	host: getFaucetHost('devnet'),
	recipient: '<YOUR_SUI_ADDRESS>',
});

SUI 보내기

sui client transfer-sui --to <주소> --amount <SUI>

스마트 컨트랙트 배포

sui client publish --gas-budget 20000000

Sui 블록체인 데이터를 조회하는 방법

1. JSON-RPC API 사용 (Sui Full Node 연결)
JSON-RPC는 Sui의 Full Node에서 데이터를 가져올 수 있는 API 방식의 인터페이스

JSON-RPC에서 조회 가능한 데이터
✔ 실시간 트랜잭션(Transaction) 데이터
✔ 과거 트랜잭션(History) 조회
✔ 객체(Object) 정보 조회
✔ 체크포인트(Checkpoint) 조회
✔ 이벤트(Event) 구독 및 분석

Mainnet:  https://fullnode.mainnet.sui.io
Testnet:  https://fullnode.testnet.sui.io
Devnet:   https://fullnode.devnet.sui.io

-> 해당 URL을 사용하여 JSON-RPC 요청을 보내면 Sui 네트워크 데이터를 조회 가능.

curl -X POST https://fullnode.mainnet.sui.io \
-H "Content-Type: application/json" \
-d '{
    "jsonrpc": "2.0",
    "id": 1,
    "method": "sui_getTransaction",
    "params": ["<TRANSACTION_HASH>"]
}'

2. 커스텀 데이터 인덱서(Indexer) 구축 (PostgreSQL DB 활용)

커스텀 인덱서는 Sui 블록체인의 데이터를 주기적으로 가져와서 PostgreSQL 같은 DB에 저장하는 시스템

커스텀 인덱서의 역할

Sui 블록체인 데이터를 지속적으로 수집하여 데이터베이스에 저장.
데이터를 구조화해서 보관하여 빠른 검색 가능.
JSON-RPC API보다 빠르게 데이터 조회 가능.

커스텀 인덱서의 핵심 기능
JSON-RPC API를 이용해서 Sui 블록체인 데이터를 주기적으로 가져와 PostgreSQL 같은 DB에 저장.
이후, JSON-RPC를 사용하지 않고 데이터베이스에서 직접 검색하여 빠르게 조회 가능.
블록체인 데이터를 원하는 기간만큼 보존 가능하여, 오래된 데이터도 조회 가능.

profile
윤따와더나은인생

0개의 댓글