Sui 주소 생성
주소는 블록체인 네트워크에서 고유하고 익명인 식별자이다. Sui에서 주소는 다음을 수행할 수 있는 온체인 위치를 나타낸다:
-
토큰을 보유하고 전송한다.
-
NFT와 Move 패키지 같은 객체를 소유한다.
-
트랜잭션을 제출하고 스마트 계약과 상호작용한다.
주소를 만들기 위해 개인 식별 정보를 제공할 필요는 없다. 한 사람이 여러 주소를 만들고 소유할 수 있다.
모든 Sui 주소는 고유한 32바이트 식별자이며, 별칭으로 참조하지 않는 한 0x 접두사가 붙은 16진수 인코딩으로 표시된다. 예:
0x02a212de6a9dfa3a69e22387acfbafbb1a9e591bd9d636e7895dcfc8de05f331
암호학적 해시 함수는 공개 키를 생성하고, 모든 주소는 이 공개 키에서 파생된다. 각 공개 키에는 주소와 주소가 소유한 객체에 접근하는 해당 개인 키가 있다. 주소와 관련 키 쌍을 합쳐 계정이라고 한다.
Sui 주소가 파생되는 방식과 암호학 관련 주제는 자세히 알아보기를 참조한다.
Sui 주소 얻기
Sui 클라이언트 설정에서 이미 주소가 있거나 새 주소를 만들었다면 온보딩 단계를 계속하기 위해 Faucet에서 SUI 받기로 건너뛸 수 있다.
- 사전 요구 사항
기본적으로 Sui 클라이언트가 처음 실행되면 클라이언트 설정을 요청한다. 이 초기 구성은 새 Sui 주소, 키 쌍, 관련 비밀 복구 구문을 생성한다.
초기 클라이언트 구성 밖에서 새 Sui 주소를 만들려면 다음을 실행한다:
$ sui client new-address ed25519
이 명령은 키 쌍 체계를 ed25519 타입으로 지정한다.
The options are:
-
ed25519: Small key size and compact signatures. -
secp256k1: Provides security through generating and verifying keys using ECDSA. -
secp256r1: Uses randomly generated curves to generate keys.
The client will return your new address and 12-word recovery phrase:
Generated new key pair for address with scheme "ed25519" [0xb9c83a8b40d3263c9ba40d551514fbac1f8c12e98a4005a0dac072d3549c2442]
Secret Recovery Phrase : [cap wheat many line human lazy few solid bored proud speed grocery]
복구 구문
모든 Sui 주소에는 복구 구문이 있다. 복구 구문은 주소의 키 쌍 접근 권한을 잃었을 때 주소를 복구하는 데 사용하는 무작위 12개 단어 시퀀스이다.
Sui는 복구 구문을 한 번만 표시한다. 시스템은 이를 어디에도 자동으로 저장하지 않으며, 직접 저장하지 않으면 다시 가져올 수 없다.
복구 구문은 주소가 소유한 모든 객체와 토큰에 접근할 수 있게 하므로 안전하게 보관하고 누구와도 공유하지 않는다.
복구 구문으로 주소를 복구하려면 다음 명령을 사용한다:
$ sui keytool import '<RECOVERY_PHRASE>' <KEY_SCHEME>
<RECOVERY_PHRASE>를 12단어 복구 구문으로 바꾼다. 전체 복구 구문은 작은따옴표 '로 감싸야 한다. 단어는 올바른 순서로 입력해야 한다.
<KEY_SCHEME>을 주소를 처음 만들 때 사용한 암호화 타입(예: ed25519)으로 바꾼다.
성공하면 CLI가 주소를 복원하고 CLI 출력에 표시한다.
sui.keystore
Sui는 각 주소의 개인 키를 macOS/Linux 또는 Windows 시스템의 ~/.sui/sui_config/sui.keystore 또는 %USERPROFILE/.sui/sui_config/sui.keystore 파일에 저장한다.
이 파일에는 다음과 유사한 내용이 들어 있다:
[
"AK6q1/Yzz5qmTfHGLot4wkbRP5lP5NUQVDlf3FggLrKZ",
"ADAWAFS+J9KcDjFmAiVI/e9ZluG0id9AnI6a7Bk5tH+G",
"AJ42rQfCrPIfrQvzCgeHVDCcQZ4R1qAzKtob61VTw5k5",
"AHoKrY7DDnUOq2RgP7gXLPa86bFfzqEMvmOs7TmHtST+"
]
시스템에서 새 주소를 만들면 해당 주소의 개인 키로 구성된 새 줄이 이 파일에 추가된다. 다른 사람이 계정에 접근하는 데 사용할 수 있으므로 누구에게도 노출하지 않는다.
sui.keystore 파일은 웹사이트 비밀번호, 지문 같은 생체 데이터 또는 다른 인증 자격 증명을 포함하는 머신의 로컬 keystore와 같지 않다. 머신의 로컬 keystore는 Sui에서 트랜잭션에 서명하고 제출할 수 없다. sui.keystore 파일에 포함된 관련 키가 있는 주소만 트랜잭션에 서명하고 제출할 수 있다.
주소 별칭
별칭은 Sui 주소의 전체 32바이트 16진수 문자열 대신 사용할 수 있는 사람이 읽기 쉬운 이름이다. 스크립트와 CLI 명령에서 주소를 더 쉽게 참조하기 위해 주소를 사용할 수 있는 모든 곳에서 별칭을 사용할 수 있다.
주소를 만들면 Sui는 기본적으로 무작위 별칭을 할당한다. 다음 명령으로 주소의 현재 별칭을 볼 수 있다:
$ sui client addresses
출력에는 주소, 별칭, 로컬 주소가 여러 개 있는 경 우 활성 주소 표시가 포함된다:
╭───────────────────────┬────────────────────────────────────────────────────────────────────┬────────────────╮
│ alias │ address │ active address │
├───────────────────────┼────────────────────────────────────────────────────────────────────┼────────────────┤
│ vigorous-spinel │ 0x6ebb36a3c1ab2124c082d93f60f518f70494b82d8d13c5aabb3abad6ec8cd82d │ * │
╰───────────────────────┴────────────────────────────────────────────────────────────────────┴────────────────╯
그런 다음 별칭을 다른 값으로 업데이트하려면 다음 명령을 사용한다:
$ sui keytool update-alias <OLD-ALIAS> <NEW-ALIAS>
이제 명령에서 주소 대신 별칭을 사용할 수 있다. 예:
$ sui client objects <NEW-ALIAS>
모든 로컬 Sui 주소 보기
활성 주소는 Sui 클라이언트가 현재 사용하는 주소이다. 명령에서 --address 플래그로 달리 지정하지 않는 한 이 주소가 만든 객체와 제출한 트랜잭션을 소유한다.
현재 활성 주소를 보려면 다음 명령을 사용한다:
$ sui client active-address
로컬 머신의 모든 주소를 보려면 다음을 실행한다:
$ sui keytool list
이 명령은 모든 주소와 해당 별칭, 공개 키, 키 체계, peer ID를 반환한다.
╭────────────────────────────────────────────────────────────────────────────────────────────╮
│ ╭─────────────────┬──────────────────────────────────────────────────────────────────────╮ │
│ │ alias │ vigorous-spinel │ │
│ │ suiAddress │ 0x6ebb36a3c1ab2124c082d93f60f518f70494b82d8d13c5aabb3abad6ec8cd82d │ │
│ │ publicBase64Key │ AKDCajKN877Uc7o8NP2cQVJkSewhq1ZbWgw5LgpWVqbj │ │
│ │ keyScheme │ ed25519 │ │
│ │ flag │ 0 │ │
│ │ peerId │ a0c26a328df3bed473ba3c34fd9c41526449ec21ab565b5a0c392e0a5656a6e3 │ │
│ ╰─────────────────┴──────────────────────────────────────────────────────────────────────╯ │
╰────────────────────────────────────────────────────────── ──────────────────────────────────╯
keytool 명령에 관한 자세한 내용은 Sui Keytool CLI 문서를 참조한다.
활성 주소 변경
다른 주소로 전환하려면 먼저 활성 주소와 전환 가능한 주소를 확인한다:
$ sui client addresses
그런 다음 다른 주소로 전환하려면 다음 명령을 사용한다:
$ sui client switch --address <ADDRESS>