[Hello Sui] #1. Sui Cli 설치하기
목차
Sui CLI 설치부터 Client 설정, Address 생성, Faucet으로 테스트 토큰 받기까지 Sui Cli 환경을 처음 세팅하는 과정을 설명합니다. 이 글은 Hello Sui 시리즈의 1번째 글입니다. Sui는 확장성과 고성능을 목표로 설계된 Layer 1 블록체인입니다. 암호화, 데이터 저장, 검증, 접근 제어 등 애플리케이션 개발에 필요한 기본 요소들을 네이티브로 제공하며, Layer 2 체인이나 오프체인 솔루션 없이도 탈중앙화 애플리케이션을 구축할 수 있습니다. Sui의 특징은 다른 블록체인과 달리 객체 중심(Object-Centric) 모델을 사용한다는 것입니다. 네트워크의 모든 항목은 객체(Object)이고 각 객체는 고유한 온체인 ID를 가집니다. 트랜잭션은 객체를 입력으로 받아 기존 객체를 변경하거나 새 객체를 생성합니다. Sui에서 객체를 생성하고 트랜잭션을 제출하는 등 애플리케이션을 개발하려면, 먼저 Sui CLI를 설치해야 합니다. Sui CLI는 주소 및 잔액 관리, 스마트 컨트랙트 빌드 및 배포, 네트워크 정보 조회 등의 기능을 제공합니다. 이 글에서는 Sui CLI를 설치하고, Client를 설정하고, Address를 생성한 뒤 Faucet으로 테스트 토큰을 받는 과정을 순서대로 살펴보겠습니다. Sui CLI는 설치 후 아래 명령어로 Sui를 설치합니다. macOS에서는 Homebrew로도 설치할 수 있습니다. Windows는 Chocolatey를 사용합니다. 설치 후 아래 명령어로 정상 설치 여부를 확인할 수 있습니다. 설치 후 아래 명령어를 실행하면 Sui Client를 초기 설정할 수 있습니다. 최초 실행 시 설정이 완료되면 주의: 설정 중 생성되는 복구 구문(Recovery Phrase)은 CLI 히스토리가 삭제되면 찾을 수 없기 때문에 반드시 안전하게 보관해야 합니다. Sui Address는 블록체인 네트워크 상의 고유한 주소입니다. Address를 통해 토큰을 보유하거나 NFT 같은 객체를 소유하고, 트랜잭션을 제출하거나 스마트 컨트랙트와 상호작용할 수 있습니다. 모든 Sui Address는 32바이트 식별자로, Address는 공개키(Public Key)의 암호화 해시 값으로 생성되며, 각 공개키에는 대응하는 개인키(Private Key)가 존재합니다. 아래 명령어로 새 Address를 생성합니다. 키 생성 방식은 세 가지 중 선택할 수 있습니다. 명령어 실행 시 아래와 같이 새 Address와 복구 구문(Recovery Phrase)이 출력됩니다. 주의: Recovery Phrase는 한 번만 표시됩니다. 키에 대한 접근을 잃었을 때 복구하는 유일한 수단이므로 반드시 안전하게 보관하세요. 생성된 Address 목록은 아래 명령어로 확인할 수 있습니다. 현재 활성 Address만 확인하려면 아래 명령어를 사용합니다. 활성 Address를 변경하려면 아래 명령어를 사용합니다. Sui 네트워크에서 트랜잭션을 제출하려면 가스비(Gas Fee)로 사용할 SUI 토큰이 필요합니다. 개발을 위해서는 무료로 제공되는 Testnet과 Devnet의 토큰이 필요합니다. https://faucet.sui.io 에 접속해서 주소를 입력하고 네트워크를 선택한 뒤 "Request SUI" 버튼을 클릭합니다. 현재 활성 Address는 아래 명령어로 확인할 수 있습니다. 아래 명령어로 직접 Faucet API를 호출할 수도 있습니다. 토큰을 받은 후 아래 명령어로 잔액을 확인할 수 있습니다. 전체 목차:
개요
Sui Cli 설치
Suiup
suiup을 이용한 설치를 권장합니다. macOS / Linux는 아래 명령어로 suiup을 먼저 설치합니다.curl -sSfL https://raw.githubusercontent.com/Mystenlabs/suiup/main/install.sh | shsuiup install suibrew install suichoco install suisui --versionDefault Configuration
suiup으로 sui를 설치하면 sui는 기본적으로 ~/.sui/sui_config/client.yaml 파일에 기본 설정을 저장합니다. 이 파일에는 아래 항목들이 정의됩니다.Sui Client
sui clientclient.yaml 파일 생성 여부를 묻는 프롬프트가 나타납니다.No sui config found in `~/.sui/sui_config/client.yaml`, create one [Y/n]?y를 입력하면 연결할 네트워크 RPC URL을 입력하라는 프롬프트가 이어집니다. 기본값으로 Testnet에 연결하려면 Enter를 누릅니다.~/.sui/sui_config/client.yaml 파일이 생성되며, 여기에 활성 네트워크, 활성 주소, 키스토어 경로 등이 저장됩니다.Sui Address
0x 접두사가 붙은 16진수로 표시됩니다.0x02a212de6a9dfa3a69e22387acfbafbb1a9e591bd9d636e7895dcfc8de05f331새 Address 생성
sui client new-address ed25519Generated new key pair for address with scheme "ed25519"
[0xb9c83a8b40d3263c9ba40d551514fbac1f8c12e98a4005a0dac072d3549c2442]
Secret Recovery Phrase : [cap wheat many line human lazy few solid bored proud speed grocery]Address 확인
sui client addressessui client active-addresssui client switch --address <ADDRESS>Get Sui Token
Faucet 웹사이트
sui client active-addresscURL
ADDRESS=$(sui client active-address)
NETWORK=testnet
curl --location --request POST "https://faucet.${NETWORK}.sui.io/v2/gas" \
--header "Content-Type: application/json" \
--data-raw "{\"FixedAmountRequest\": {\"recipient\": \"${ADDRESS}\"}}"잔액 확인
sui client balanceReferences