사용자 스토리 1: Alison은 SHIB를 가지고 있으며 일부를 Becky에게 보냅니다.
우리의 사용자 스토리는 항상 SHIB Jetton으로 어떤 작업을 수행하기로 결정한 사용자 중 한 명 (이 경우 Alison)으로 시작됩니다. 이 경우 Alison은 Becky에게 일부 토큰을 보내기로 결정했습니다. Alison은 선택한 지갑 앱 (예: TonKeeper)을 열고 작업을 승인합니다. 이 일이 발생하면 지갑 앱은 서명된 트랜잭션을 Alison의 지갑 컨트랙트으로 보냅니다.
트랜잭션에는 일부 대상 컨트랙트을 위한 메시지가 포함되어 있습니다. 메시지는 스마트 컨트랙트가 TON에서 통신하는 방식입니다. 메시지는 본질적으로 압축된 이진 형식 (binary) 인 셀 백 (bag of cells) 으로 인코딩됩니다. 메시지의 키 필드 중 하나는 op 이 메시지의 작업 유형을 설명하는 32비트 정수 (integer) 입니다.
transfer 메시지가 목적지 [code] 에 도달 하면 Alison의 SHIB 잔액을 보유하는 컨트랙트에서 이 컨트랙트는 메시지를 처리하고 지속 상태를 변경합니다 (Alison의 SHIB 잔액을 보낸 금액 [code] 만큼 줄임 ). 컨트랙트가 다른 컨트랙트에 연결해야 하는 경우 추가 메시지를 보낼 수 있습니다. 우리의 경우 컨트랙트는 Becky의 SHIB 잔고 [code] 를 보유하고 있는 컨트랙트에 internal transfer op 유형의 메시지를 보낼 것입니다.
다음은 메시지 흐름입니다.

TON의 메시지는 비동기식(asynchronous) 입니다. 언제 처리될지는 정확히 알 수 없습니다. 모든 메시지가 단일 블록에서 처리될 가능성이 있고 각 메시지가 다른 블록에서 처리될 가능성이 있습니다. 이는 전송을 처리하는 데 다소 시간이 걸릴 수 있음을 의미합니다. 첫 번째 거래가 성공적으로 확인되더라도 여전히 이체가 실패할 수 있습니다.
Last updated