본문으로 건너뛰기

Explorer에서 함수 호출하기

이전 레슨에서 Devnet에 배포한 카운터 컨트랙트를, Suiscan의 GUI에서 직접 호출해 봅시다. 터미널도 코드도 필요 없습니다. 브라우저만으로 완결됩니다.


사전 조건


1. Suiscan에서 Package 열기

브라우저에서 Suiscan (Devnet)을 엽니다.

Suiscan Devnet

이전 레슨에서 획득한 PackageID를 검색창에 붙여넣어 검색합니다.

주의

붙여넣는 것은 Package ID입니다. 지갑의 계정 주소와 혼동하지 않도록 주의하세요. Package ID는 sui client publish 출력의 Published Objects에 표시된 것으로, 계정 주소와는 다릅니다.

PackageID 검색

Package 페이지가 열립니다. 페이지 내에 Contracts 섹션이 있고, counter라는 모듈 이름이 보일 것입니다.

Package 페이지의 Modules 섹션

Contracts 펼침 후


2. create 함수로 카운터 생성하기

counter 모듈을 클릭해 펼칩니다. 함수 목록이 표시됩니다.

  • create — 카운터 오브젝트를 생성해 내 지갑으로 보냄 (entry fun)
  • increment — 카운터 값을 1 증가시킴 (entry fun)
  • get_value — 카운터의 현재 값을 반환 (public fun)

Suiscan UI에서는 entry funExecute 버튼이 표시됩니다. get_valuepublic fun이어서 버튼이 없으며, SDK나 다른 Move 모듈에서 프로그래밍 방식으로 호출하는 용도입니다. 값 확인 방법은 4단계에서 설명합니다.

먼저 **create**를 실행해 카운터 오브젝트를 얻겠습니다.

create 오른쪽의 Execute 버튼을 클릭합니다. (지갑이 연결되어 있지 않으면 Connect를 클릭해 Slush로 연결하세요.)

create 함수의 Execute 버튼

create는 인수가 없습니다 (TxContext는 자동으로 제공됩니다). 그대로 지갑의 서명 팝업이 표시됩니다.

Slush에서 내용을 확인하고 Approve를 클릭합니다.

Slush 승인 팝업

트랜잭션이 성공하면 Execute 패널에 Transaction applied가 표시됩니다. Created 아래에 Counter 오브젝트의 ObjectID(0x...)가 표시됩니다.

Transaction applied

Created0x... 주소를 클릭하면 Counter 오브젝트의 상세 페이지로 이동합니다. 나중에 돌아와야 하므로 우클릭 → 새 탭에서 열기가 편리합니다. 페이지 내의 Fields 섹션을 클릭해 펼치면 value: 0을 확인할 수 있습니다. 생성 직후이므로 초기값 0입니다.

Fields 섹션 클릭

Counter object value=0

다음 단계에서 ObjectID가 필요합니다. 복사 아이콘을 사용해 복사해 두세요.


3. increment 함수로 카운터 증가시키기

Suiscan의 Package 페이지로 돌아가고 (브라우저의 뒤로 가기 버튼 또는 PackageID를 다시 검색), counter 모듈을 다시 펼칩니다.

이번에는 **increment**의 Execute 버튼을 클릭합니다.

increment 함수의 Execute 버튼

increment에는 인수가 1개 있습니다:

인수명타입입력할 값
counterCounter (object ID)2단계에서 복사한 Counter의 ObjectID

입력 폼에 Counter의 ObjectID를 붙여넣습니다.

Execute를 클릭하고 Slush 서명 팝업에서 Approve합니다.

트랜잭션이 성공하면 완료입니다.

increment 성공


4. Counter 오브젝트에서 값 변화 확인하기

Counter 오브젝트 페이지로 돌아가 (또는 ObjectID를 다시 검색해 열어), Fields 섹션을 확인합니다.

value0에서 1로 변경되어 있을 것입니다.

Counter object value=1

2단계에서 0이었던 값이, increment 실행으로 1이 되었습니다.

페이지를 새로고침하세요

페이지를 그대로 열어 두었다면 브라우저를 새로고침(F5 또는 ⌘R)해 주세요. 새로고침하지 않으면 이전 데이터가 계속 표시될 수 있습니다.


성공 확인

아래 항목을 달성하면 이 레슨은 완료입니다:

  • Sui Explorer에서 PackageID를 검색해 Package 페이지를 열었다
  • create 함수를 실행해 Counter 오브젝트를 생성하고 value: 0을 확인했다
  • increment 함수를 실행해 카운터를 증가시켰다
  • Counter 오브젝트의 value1이 된 것을 확인했다

이번 레슨에서 한 것

  • Suiscan에서 PackageID로 컨트랙트 Package를 검색했다
  • create 함수를 실행해 카운터 오브젝트를 생성했다
  • increment 함수에 오브젝트 ID를 인수로 전달해 실행했다
  • Counter 오브젝트의 Fields를 직접 확인해 값의 변화를 검증했다
  • "Explorer에서 컨트랙트 호출 성공"을 달성했다