자산의 전송이 막혔을 때 해결하는 방법(Debugging)

*Debugging : 프로그램의 잘못을 찾아내어 수정하기

전송에 관한 *Life cycle 스타일 알아보기

자산의 전송이 막힌 상태를 해결할 때는 교차 체인 트랜잭션의 구조를 이해하는 것이 중요합니다.

*Life cycle : (상품 등이 개발되고 사용되는) 라이프 사이클

https://s3-us-west-2.amazonaws.com/secure.notion-static.com/60e8d791-8ced-4c5a-a25b-694c50acaaee/Untitled.png

다음은 “NXTP crosschain transaction”의 life cycle입니다.

크게 3가지로 구성됩니다.

  1. Auction: “Aution” 단계에서 사용자는 전송할 곳으로 보낼 유동성을 제공하는 라우터(유동성 공급자)와 함께 작동합니다. 예를 들어, <DAI>를 「Optimism」에서 「Arbitrum」으로 전송하는 경우, 라우터는 Optimism에 제공하는 DAI와 교환하여 <DAI> on 「Arbitrum」을 제공합니다. 라우터 선택은 다음을 기준으로 합니다.
  2. Prepare: “Prepare” 단계에서는 자산을 보내는 체인의 사용자와 받는 체인의 라우터 등 양쪽의 당사자가 전송을 위해 자금을 잠급니다. 라우터는 자산을 받는 체인에 유동성을 잠그기 전에 사 용자의 전송을 보여주는 하위 그래프(복잡한 체인 데이터를 쉽게 처리할 수 있는 인프라)를 기다 립니다.
  3. Fulfill: “Fulfill” 단계에서 양쪽의 당사자는 “잠금”되어있는 자금을 해제합니다. 사용자는 자산을 받는 체인의 자금 잠금 해제에 사용되는 서명을 제공하고, 라우터는 동일한 서명을 사용하여 자산을 받는 체인의 자금 잠금을 해제합니다.

일단 준비가 되면, “Fulfill”되지 않을 경우, 어느 한 당사자에 의해 프로세스가 만료되면 양도를 취소 할 수 있습니다. 또는, 빚을 진 사람은 “Fullfill”이 아닌 만기 전에 이체를 취소할 수 있습니다. 즉, 트랜잭션이 준비되면.. 사용자는 자산을 받는 체인의 전송을 취소할 수 있고, 라우터는 자산을 보내는 체인의 전송을 취소할 수 있습니다.


*전송이 막혔을 때 따라하기(Debug의 단계)

다음은 xpollinate.io의 사진으로 예시를 들고 있지만, 다른 웹 사이트에서 시작된 경우에도 NXTP 트랜잭션을 디버깅하는 단계는 동일합니다!

  1. 반드시 본인의 자금이 지갑에 남아 있는지 확인하고, 보통 당신이 염려하는 거래는 xpollineate와 관련이 있습니다. 우리가 선호하는 탐색기는 “Tenderly”지만, 어떤 체인의 탐색기라도 거래 요청을 하면 볼 수 있을 거예요!

  2. 아래 UI에서 Transaction Id 을 복사합니다.

    https://s3-us-west-2.amazonaws.com/secure.notion-static.com/20d11f1b-4255-4f24-9a1a-6fc348c16cb5/Screen_Shot_2021-11-22_at_4.02.22_PM.png

    트랜잭션 ID는 교차 체인 트랜잭션의 고유 식별 번호입니다. 탐색기를 사용하여 해당하는 전송에 대한 정보를 찾는 데에 있어서 가장 유용합니다.