TON 지갑 개요

기본 용어

TON 지갑:

TON 체인에서 지갑은 여전히 니모닉/개인키로 관리되지만, 각 지갑은 하나의 스마트 컨트랙트이며 사용하기 전에 메인넷에 배포해야 한다. 배포 후 지갑을 사용하려면 소량의 Toncoin을 네트워크 수수료로 지불해야 한다.

TON 계정:

동일한 니모닉으로 TON 공식 지갑이 제공하는 여러 유형의 컨트랙트를 기반으로 서로 다른 계정을 만들 수 있다. 컨트랙트 유형에 따라 지원 기능이 달라지지만, 모두 동일한 니모닉으로 관리된다.

2 합약 버전:

TON은 다양한 기능을 제공하는 여러 종류의 지갑 컨트랙트를 제공한다.

컨트랙트 유형
주요 기능

Wallet V1

한 번에 하나의 트랜잭션만 전송

Wallet V2

트랜잭션 시간 제한을 추가하여 장시간 미확인을 방지

Wallet V3

Subwallet ID 기능 추가, 하위 지갑 생성 가능

Wallet V4

“플러그인”과 구독 기능 추가, V3 기능과 호환

Highload wallet V3

대량 트랜잭션 전송 지원

Lockup wallet

일정 기간 자산을 잠금

Restricted wallet

지정 계정과만 거래 가능, 스테이킹 노드 실행 지원

Subwallet ID: 정수 형태의 하위 지갑 ID. 기본값은 698983191이며, 다른 Subwallet ID를 설정해 서로 다른 하위 지갑을 만들 수 있다.

Jetton: TON 체인의 비원주 자산을 Jetton이라 부른다.

Jetton wallet: 지갑 내 Jetton 자산별로 전용 Jetton wallet 컨트랙트가 존재하며, Jetton 전송은 지갑 컨트랙트가 해당 Jetton wallet 컨트랙트를 호출해 실행된다.

TON과 EVM 체인의 주요 차이

  1. TON에서는 모든 프로젝트가 컨트랙트이며, 지갑 또한 컨트랙트이자 해당 주소가 된다.

  2. 지갑 컨트랙트를 사용하려면 첫 트랜잭션 시 배포 비용과 각 트랜잭션의 스토리지 비용을 지불해야 한다.

  3. TON 스마트 컨트랙트는 업그레이드할 수 있지만, EVM 컨트랙트는 배포 후 업그레이드가 어렵다.

  4. 다른 Subwallet ID를 사용하면 동일한 퍼블릭 키로 여러 지갑 계정을 만들 수 있다.

TON 지갑의 특징

  1. 새 지갑은 첫 트랜잭션에서 소량의 Toncoin으로 지갑 컨트랙트를 배포해야 한다.

  2. 하나의 지갑에는 여러 주소 형식이 있으며 겉보기엔 다르지만 모두 동일 지갑을 가리킨다. 다만 네트워크가 다른 주소로 전송하면 자산이 영구히 손실된다.

TON 지갑 주소 형식과 주요 특성

주소 형식
네트워크
트랜잭션 특성
적용 사례

E...

메인넷

해당 주소로 전송 시 트랜잭션이 반려될 수 있으므로, 지갑 컨트랙트가 배포되었는지 먼저 확인해야 한다

EQ 주소는 입금을 기다리는 스마트 컨트랙트에 적합. 아직 배포되지 않은 컨트랙트로 전송하면 자금이 반려되어 손실을 어느 정도 방지한다

U...

메인넷

전송이 반려되지 않는다

지갑 자산 보관에 적합, U 주소로 전송된 자금은 반려되지 않는다

k...

테스트넷

전송이 반려될 수 있으므로 배포 여부 확인 필요

TON 테스트넷에서 사용되는 반려 가능 주소

0…

테스트넷

전송이 반려되지 않는다

TON 테스트넷의 반려 불가 주소

TON 지갑과 EVM 지갑의 주요 차이

지갑 유형
EVM 지갑
TON 지갑

완전 자가 관리

계정 주소

생성 즉시 무료 사용

모든 주소가 스마트 컨트랙트이므로 사용 전 소량 TON으로 배포해야 하며, 각 트랜잭션마다 스토리지 수수료를 지불해야 한다

주소 형식

0x…

U…

E…

0…

k…

네트워크 수수료 구성

gas fee

총 비용 =

storage fees

+ in fwd fees

+ computation fees

+ action fees

+ out fwd fees

초기 트랜잭션 시 컨트랙트 배포 비용 추가

수수료 수정 가능 여부

가능

불가능

TON 트랜잭션 수수료 구성

TON 체인에서 수수료는 Gas로 계산되며, 각 트랜잭션 수수료는 여러 항목으로 이루어져 있고 사용자가 직접 우선순위를 조정할 수 없다.

수수료 구성
설명

Storage fees

지갑 계정은 온체인 컨트랙트이므로, 이전 트랜잭션 이후 경과 시간에 대한 스토리지 비용을 매번 지불해야 한다. 컨트랙트 크기가 클수록 비용도 증가한다.

Fwd. fees

지갑이 온체인 내부/외부 메시지를 전송할 때 컨트랙트를 호출하는 비용. In fwd. fees와 Out fwd. fees를 포함한다.

Action fees

모든 비용 계산 후 실제 트랜잭션(컨트랙트 호출)을 실행하는 데 필요한 비용.

Gas fees

Computation fees로, 트랜잭션 계산 비용을 의미한다. Gas 1 단위당 400 nanotons이 든다.

TON 지갑 사용 시 유의 사항

  1. 온체인 트랜잭션 비용은 모두 TON 체인이 수취하며 TokenPocket 지갑은 별도 수수료를 받지 않는다.

  2. 모든 지갑은 첫 트랜잭션에서 Toncoin을 사용해 지갑 컨트랙트를 배포해야 하며, 이는 한 번만 발생한다.

  3. 각 트랜잭션마다 온체인 스토리지 비용이 발생하며 매번 지불해야 한다.

  4. 이미 배포된 지갑에 Toncoin 잔액이 없으면 다음 입금 시 그동안 누적된 스토리지 비용이 자동 공제되므로 입금액과 출금액이 다소 다를 수 있다.

  5. 트랜잭션 시 수신자의 네트워크(메인넷/테스트넷)가 자신의 네트워크와 일치하는지 반드시 확인해야 하며, 네트워크가 다르면 자산이 영구 손실된다. 이 규칙은 DApp 상호작용에도 동일하게 적용된다.

  6. 지갑은 니모닉과 개인키를 기반으로 탈중앙화 방식으로 생성/가져오기 되므로 반드시 안전하게 보관해야 한다.

  7. 이미 생성된 지갑은 컨트랙트 유형이 추가되거나 변경되어도 주소가 바뀌지 않는다.

  8. TON에서 DApp과 상호작용할 때 지갑을 연결한 후 다른 지갑으로 전환해도 알림이 표시되지 않으므로, 거래 전에 연결된 지갑이 현재 지갑인지 확인해야 한다.

  9. 일부 DApp은 네트워크 불일치를 경고하지 않을 수 있으므로, 지갑이 현재 메인넷인지 테스트넷인지 확인하여 네트워크 오차로 인한 자산 손실을 방지해야 한다.

Last updated