본문으로 건너뛰기

SuiLink

SuiLink는 서로 다른 블록체인의 wallet address를 Sui wallet address에 안전하게 연결할 수 있게 해준다. SuiLink를 생성하면 연결된 wallet에 대한 소유권을 인증된 방식으로 증명하는 소울바운드 NFT를 받는다.

Key features

SuiLink는 다음 기능을 제공한다:

  • Cross-chain identity verification: Ethereum에서 Sui로, Solana에서 Sui로, 그리고 다른 Sui address의 wallet을 기본 Sui wallet에 연결한다.
  • Non-transferable proof of ownership: wallet 소유권을 암호학적으로 검증하는 soulbound NFT를 받는다.
  • Enhanced discoverability: Sui ecosystem의 프로젝트가 연결된 모든 wallet 전반의 활동을 기준으로 사용자를 발견할 수 있다.
  • Reward eligibility: Sui network 안에서 cross-chain reward, priority feature, 그리고 exclusive events를 위한 기회를 연다.

Supported networks

현재 SuiLink는 Sui와 Ethereum 사이(Sui-to-Ethereum), 그리고 Sui와 Solana 사이(Sui-to-Solana)의 wallet을 cross-chain으로 연결하는 것을 지원한다.

현재 Sui-to-Sui 연결은 Playtron wallet app을 위한 custom solution을 사용해 programmatically하게만 지원된다. 더 자세한 내용은 SuiPlay0X1 SuiLink integration guide를 참조한다.

SuiLink를 생성하려면 소울바운드 NFT를 mint하기 위해 Sui network에서 소량의 가스 수수료가 발생한다. 연결을 완료하려면 wallet에 SUI token이 어느 정도 들어 있는지 확인한다.

SuiLink를 생성하려면:

  1. https://www.suilink.io/를 방문한다.
  2. Connect Sui Wallet를 클릭한다.
  3. 연결하려는 블록체인 network를 선택한다: Ethereum 또는 Solana.
  4. 프롬프트를 따라 연결하려는 wallet을 인증하고 연결한다.
  5. transaction을 완료해 SuiLink NFT를 mint한다.

각 SuiLink 연결은 Sui wallet 안에 별도의 SuiLink NFT를 생성한다.

연결된 address를 보려면:

  1. Sui wallet에서 SuiLink NFT를 본다.
  2. network_address 필드를 확인해 어떤 wallet이 연결되어 있는지 본다.
  3. timestamp를 검토해 각 연결이 언제 생성되었는지 본다.

해당 NFT를 burn하면 wallet 연결을 영구적으로 해제할 수 있다. address 연결을 해제하려면:

  1. Sui wallet의 NFTs 섹션으로 이동한다.
  2. burn하려는 SuiLink NFT에서 "Send" 또는 "Transfer"를 선택한다.
  3. burn address를 입력한다: 0x0000000000000000000000000000000000000000.

또한 SUI Manager 같은 다양한 third-party tool이 NFT burn을 도와줄 수 있으며, 일부 wallet에는 burn 기능이 내장되어 있다.

Sui에서 애플리케이션을 구축할 때는 SuiLink를 통합해 cross-chain 소유권을 검증할 수 있다.

NetworkETH and SOL Package IDSui-to-Sui Package ID
Testnet0x0025bafa2e6afa511c19bd4e95626c897e798fde629b4782fe061bdc8bd65c8a0x0025bafa2e6afa511c19bd4e95626c897e798fde629b4782fe061bdc8bd65c8a
Mainnet0xf857fa9df5811e6df2a0240a1029d365db24b5026896776ddd1c3c70803bccd30x73f5ab2461c5993408fff21354fa9831d4f4a66cc81382419ec29e3c80c384b5

사용자의 SuiLink 연결을 가져오려면 다음 gRPC query를 사용한다:

const SUILINK_PACKAGE_ID_ETH_SOL = '0xf857fa9df5811e6df2a0240a1029d365db24b5026896776ddd1c3c70803bccd3';
const SUILINK_PACKAGE_ID_SUI = '0x73f5ab2461c5993408fff21354fa9831d4f4a66cc81382419ec29e3c80c384b5';

const ethSolSuiLinks = await grpcClient.listOwnedObjects({
owner: suiAddress,
type: `${SUILINK_PACKAGE_ID_ETH_SOL}::suilink::SuiLink`,
include: { json: true },
});

const suiSuiLinks = await grpcClient.listOwnedObjects({
owner: suiAddress,
type: `${SUILINK_PACKAGE_ID_SUI}::suilink::SuiLink`,
include: { json: true },
});

이 query는 지정한 Sui address가 소유한 모든 SuiLink NFT를 반환한다.

각 SuiLink NFT에는 다음 필드가 들어 있다:

{
"id": "0xcafe",
"network_address": "0xdecaf",
"timestamp_ms": "1751541273947"
}

NFT 타입은 wallet이 어떤 블록체인 network에 연결되어 있는지를 나타낸다:

for (const link of ethSolSuiLinks.objects) {
const id = link.json.id as string; // "0xcafe"
const linkedAddress = link.json.network_address as string; // "0xdecaf"
const timestamp = link.json.timestamp_ms as string; // "1751541273947"
const chainType = link.type; // 전체 타입 문자열에는 generic param이 포함되며,
// 예: "...::SuiLink<...::ethereum::Ethereum>"
}

// Mainnet의 Sui-to-Sui SuiLink
0xf857fa9df5811e6df2a0240a1029d365db24b5026896776ddd1c3c70803bccd3::suilink::SuiLink<0x73f5ab2461c5993408fff21354fa9831d4f4a66cc81382419ec29e3c80c384b5::sui::Sui>

// Testnet의 Sui-to-Ethereum SuiLink
0x0025bafa2e6afa511c19bd4e95626c897e798fde629b4782fe061bdc8bd65c8a::suilink::SuiLink<0x0025bafa2e6afa511c19bd4e95626c897e798fde629b4782fe061bdc8bd65c8a::ethereum::Ethereum>

// Testnet의 Sui-to-Solana SuiLink
0x0025bafa2e6afa511c19bd4e95626c897e798fde629b4782fe061bdc8bd65c8a::suilink::SuiLink<0x0025bafa2e6afa511c19bd4e95626c897e798fde629b4782fe061bdc8bd65c8a::solana::Solana>

Verifying cross-chain asset ownership

사용자의 SuiLink object를 가져온 뒤에는 연결된 블록체인에서 특정 asset에 대한 소유권을 검증할 수 있다:

  1. SuiLink NFT에서 network_address를 추출한다.
  2. Ethereum에는 Alchemy, Solana에는 Metaplex 같은 적절한 블록체인 API를 사용해 해당 address의 asset을 조회한다.
  3. 필요한 asset이 존재하는지 검증한다.
  4. 사용자의 Sui wallet을 통해 혜택을 귀속한다.