사용자 스토리 3: 앨리슨이 SHIB를 가지고 있고 태워버렸습니다.

이 사용자 스토리에서 Alison은 자신이 보유한 SHIB의 일부를 소각하기로 결정합니다. SHIB를 태우면 유통 (circulation) 에서 제거됩니다. 그녀는 왜 그렇게 할까요? 소각은 토큰의 총 공급량을 줄입니다. 사용자는 토큰의 시가 총액을 계산하는 데 도움이 되기 때문에 토큰의 총 공급에 관심을 갖습니다. 소각 토큰은 주식의 주식 환매 (share buyback)와 같으며 주식 가치를 높입니다.

총 공급량은 어디에 저장되나요? 짐작 하셨겠지만 이 영구 상태 데이터 (persistent state data)는 전역적으로 공유되므로 jetton-minter 부모 아래에 저장하는 것이 좋습니다.

  1. 소각을 시작하기 위해 Alison은 SHIB 잔액을 보유하고 있는 스마트 컨트랙트 인스턴스에 burn op 유형의 메시지를 보냅니다. 이 메시지는 그녀가 이전과 같이 지갑 컨트랙트로 보내는 트랜잭션에 인코딩되어 서명을 확인한 후 목적지로 전달합니다.

  2. Burn 메시지가 목적지 [code] 에 도달 하면 Alison의 SHIB 잔액을 보유하는 컨트랙트에서 이 컨트랙트는 메시지를 처리하고 지속 상태를 변경합니다 (Alison의 SHIB 잔액을 소각량[code ] 만큼 줄임). 그런 다음 컨트랙트는 burn notification op 유형의 메시지를 부모 minter 컨트랙트 [code] 로 보냅니다 .

  3. burn notification 메시지가 목적지 [code] 에 도달 하면 이 컨트랙트는 이제 메시지를 처리하고 지속 상태를 변경합니다 (소각량 [code] 만큼 총 공급량 감소). 컨트랙트는 일반적 으로 남은 가스를 Alison의 지갑 컨트랙트로 환불하고 소각이 완료되었음을 알리기 위해 excesses이 op 유형의 마지막 메시지를 보냅니다 [code] .

다음은 메시지 흐름입니다.

상위 채굴자 컨트랙트를 통해 사용자는 Getter 메서드 [코드] 를 사용하여 토큰의 총 공급량을 쿼리할 수 있습니다.

Last updated