자동 주소 관리
패키지를 게시하거나 업그레이드할 때, 해당 address(패키지 ID라고도 함)는 Move.lock 파일에서 추적된다. 이는 자동으로 발생하므로, (예를 들어 Move.toml 파일에서) 16진수 address를 수동으로 기록하거나 업데이트할 필요가 없다.
여러 Sui 네트워크(Mainnet, Testnet, Devnet)에서 패키지를 게시하거나 업그레이드할 때, automated address management는 각 체인 에 대해 별도의 address를 추적한다. 추적은 활성 환경을 기반으로 한다 (확실하지 않은 경우 sui client active-env 실행). 예를 들어, 활성 환경이 testnet에 연결된 RPC로 설정되어 있고 패키지를 게시하면, Move.lock은 해당 패키지의 address를 기록하고 이를 testnet과 연결한다.
Automated address management는 하나 이상의 Sui 네트워크에 게시된 하나의 패키지에 대해 작동한다. 패키지가 네트워크에 다시 게시되면 해당 네트워크에 대해 추적된 address를 덮어쓰게 된다.
automated address management 도입
이전에는 Move.toml의 published-at 항목이 필수였다. 데이터가 Move.lock에서 추적되는 경우에는 더 이상 필요하지 않다. 기존 패키지의 경우 다음과 같이 자동 추적으로 마이그레이션할 수 있다:
- 패키지가 게시된 체인의 활성 환경으로 전환한다:
sui client --switch --env <YOUR-CHAIN-ENVIRONMENT>
- 게시된 패키지의 세부 정보와 함께
manage-package명령을 실행한다:
sui move manage-package --environment "$(sui client active-env)" \
--network-id "$(sui client chain-identifier)" \
--original-id 'ORIGINAL-ADDRESS' \
--latest-id 'LATEST-ADDRESS' \
--version-number 'VERSION-NUMBER'
ORIGINAL-ADDRESS: 패키지가 처음 게시된 address이다. 업그레이드한 적이 없다면, 이는Move.toml의published-ataddress와 일치한다.LATEST-ADDRESS: 최신 패키지 address이다. 업그레이드한 적이 없다면, 이는ORIGINAL-ADDRESS와 일치한다. 업그레이드한 경우, 현재의published-ataddress와 일치한다.VERSION-NUMBER: 업그레이드한 적이 없다면1이다. 그렇지 않은 경우, 업그레이드 횟수로 설정한다.LATEST-ADDRESS에서 패키지를 조회하여 버전 번호를 확인한다.
-
Move.toml