실제 예시 - TON의 Jetton 컨트랙트
이 게시물은 지금까지 매우 이론적이었습니다. 나는 실용성으로 급격하게 전환하고 싶습니다. 이 아키텍처를 이해하기 위해 실제 사례를 분석해 보겠습니다. 우리가 사용할 예제는 TON의 Jetton 스마트 컨트랙트입니다. Jetton은 대체 가능한 토큰을 구현하는 스마트 컨트랙트 입니다 (TON 코인 자체와 매우 유사함). 이것은 이더리움의 인기 있는 ERC20 토큰 표준 의 TON 버전입니다.
토큰을 구현하는 것은 매우 간단합니다. 소유자가 일부 토큰 금액을 다른 소유자에게 전송할 수 있도록 하는 하나의 기본 작업인 transfer(전송) 이 필요합니다. 또한 우리는 새로운 토큰을 유통(circulation, 순환)에 추가하는 기능인 mint(민트) 와 유통에서 토큰을 제거하는 반대 burn(소각)이 필요합니다. Persistent state 는 어떻습니까? 또한 우리는 모든 사용자의 balance(잔액) 을 저장해야 합니다. 이더리움에서는 일반적으로 키가 사용자의 지갑 주소이고 값이 잔액인 맵(map)을 필요로 합니다.
TON에서 이 스마트 컨트랙트의 설계자로서 우리는 자동 샤딩을 효과적으로 지원하기 위해 이 스마트 컨트랙트를 여러 개의 작은 인스턴스로 분할해야 하는지 여부와 방법을 결정해야 합니다. Jetton의 사용자가 10억 명이라면 어떻게 될까요? 이 경우 아키텍처가 유지될까요?
Last updated