NFT 오너쉽 변경

Opensea와 같이 외부 NFT 마켓플레이스에서 보여지는 NFT 정보는 블록체인 상 정보가 아닌 마켓플레이스 자체에서 관리되는 정보입니다. 따라서 해당 정보를 옥텟의 API를 통해 직접적으로 컨트롤할 수는 없습니다.

이에 옥텟은 NFT Contract Method Execution 기능을 제공합니다. 해당 기능을 통해 탈중앙화 지갑으로 컨트랙트 오너쉽을 이관하면 외부 마켓플레이스의 정보를 수정할 수 있습니다.

아래 가이드를 참고하여 컨트랙트의 오너쉽을 변경해보세요.






오너쉽 변경하기


1. 탈중앙화 지갑 준비

옥텟 대표주소로는 보안 상 외부 마켓플레이스에 직접 접속할 수 없습니다.

따라서 마켓플레이스에 접속할 탈중앙화 지갑(ex. 메타마스크 등)이 필요합니다.


2. API 호출

NFT Contract Method Execution 신청 API를 호출하여 컨트랙트의 오너쉽을 위 1번 지갑으로 변경합니다.

encodedData 필드에는 transferOwnership(address)로 인코딩한 값을 넣어주세요.


transferOwnership 예시

  • 형식 : 0xf2fde38b000000000000000000000000{0x제외한 주소}
  • 예시 : 오너십을 이관할 주소가 0xBd3B720BEa077a9DeE847CdFa64DdBE561c9EBB8 라면 인코딩한 값은 다음과 같습니다. 0xf2fde38b000000000000000000000000Bd3B720BEa077a9DeE847CdFa64DdBE561c9EBB8

3. 마켓플레이스 접속

위 1번 지갑으로 외부 마켓플레이스 어드민 페이지에 접속하여 NFT 정보를 수정합니다.




🚧

오너쉽을 변경해도 옥텟에서 NFT를 발행할 수 있습니다.

옥텟 컨트랙트는 발행 권한이 분리되어 있습니다. 따라서 위 방법으로 오너쉽을 변경하더라도, NFT 발행 권한은 옥텟 대표주소에 유지되기 때문에 옥텟에서 정상적으로 NFT를 발행할 수 있습니다.






다시 오너쉽 가져오기

탈중앙화 지갑으로 이전했던 오너쉽을 옥텟 대표주소로 다시 변경할 수 있습니다. 단, 외부 주소에 대한 컨트롤이기 때문에 옥텟의 API로는 진행하실 수 없습니다.

  1. 오너쉽을 가진 탈중앙화 지갑에서 transferOwnership(address) 함수를 실행하는 트랜잭션을 생성합니다.
  2. 탈중앙화 지갑의 PK로 트랜잭션 서명 후 네트워크에 전파합니다.