<기사>
솔라나로 놀기 시리즈 3호에 오신 것을 환영합니다. 1편에서는 솔라나 블록체인의 메커니즘, 계정 모델, 트랜잭션 구조에 대해 알아보았고, 2편에서는 Rust를 사용하여 기사를 게시하고 표시하기 위한 솔라나 애플리케이션을 작성하고 타입스크립트 스크립트로 테스트하는 방법을 배웠습니다.
이 시리즈의 마지막 편으로 이번 글에서는 Phalcon Explorer를 사용하여 간단한 솔라나 트랜잭션을 분석하는 방법을 안내해드리겠습니다. 그 전에 솔라나에서 토큰이 어떻게 구현되는지 살펴보겠습니다.
토큰 소개
솔라나의 토큰은 네이티브 토큰과 기타 토큰의 두 가지 범주로 분류할 수 있습니다.
토큰에 대하여
토큰은 네이티브 토큰과 기타 토큰의 두 가지 범주로 분류할 수 있습니다. /p>
네이티브 토큰은 실제로 솔라나 토큰(SOL)입니다. 이전 게시물에서 언급했듯이 솔라나의 모든 계정에는 SOL 토큰의 가장 작은 단위인 램프포트 필드가 있으며(1 SOL = 10억 램프포트), 현재 계정의 솔라나 토큰 잔액을 기록합니다.
그리고 다른 토큰의 경우 솔라나는 토큰에 필요한 모든 기능을 위해 프로그램 계정(토큰 프로그램)과 두 개의 데이터 계정(민트 계정 및 토큰 계정)을 사용합니다.
토큰 프로그램
토큰 프로그램
토큰 프로그램은 Solana 프로그램 라이브러리(SPL)에서 제공하는 프로그램 계정이므로 계정정보의 실행 가능 필드는 True로 표시됩니다.< /p>
. /p>
첫 번째 글에서 설명했듯이 모든 프로그램 계정은 BPF 로더가 소유하며 토큰 프로그램도 예외는 아닙니다. 또한 시스템 프로그램과 마찬가지로 토큰 프로그램도 솔라나 체인의 고정된 주소에 배포됩니다.
프로그램 계정으로서 여러 가지 기능을 제공하기 위해 여러 지시문을 구현합니다. 예를 들어, 일부 명령어는 새 토큰을 초기화하기 위한 Mint 계정이나 특정 주소가 보유한 토큰 수를 추적하기 위한 토큰 계정을 생성하는 데 사용되며, 다른 명령어는 토큰 수를 늘리기 위한 MintTo 명령어나 두 주소 간에 토큰을 전송하는 Transfer 명령어처럼 토큰을 사용하는 데 필요한 모든 기능을 제공합니다. 토큰 수를 늘리기 위한 MintTo 명령어 또는 주소 쌍 간에 토큰을 전송하기 위한 Transfer 명령어 등 토큰을 사용할 수 있는 모든 기능을 제공합니다.
토큰 프로그램은 민트 계정과 토큰 계정을 모두 생성할 책임이 있으므로 두 계정의 소유자이기도 합니다.
민트 계정
민트 계정의 구조와 관계는 다음 표에 나와 있습니다: Mint. 계정은 데이터 계정으로, 계정정보의 실행 가능 필드가 False입니다.
솔라나에서 각 토큰 유형은 해당 토큰 유형의 총 공급량을 기록하는 민트 계정에 해당합니다. 민트 계정에는 토큰의 총 공급량, 민트 토큰에 액세스할 수 있는 계정의 주소 및 기타 정보가 기록됩니다.
토큰 계정
토큰 계정은 특정 토큰을 보유한 개인의 수를 추적하는 데 사용됩니다. 계정은 개인이 보유한 토큰 계정 수를 기록하는 데 사용됩니다. 특정 토큰의 경우, 해당 토큰을 보유한 모든 계정에는 토큰 계정이 있으며, 사용자가 5개의 토큰 계정을 가지고 있다면 TA는 5개의 토큰 계정을 갖게 됩니다.
토큰 계정, 일종의 데이터인 토큰 계정 계정의 데이터 부분은 세 가지 필드로 구성됩니다.
민트:이 토큰 계정에 해당하는 민트. 계정의 주소;
소유자: 토큰 계정에서 토큰을 전송할 수 있는 권한이 있는 계정, 즉 토큰의 실제 "소유자"입니다. "
금액: 현재 토큰 계정이 보유한 토큰 수입니다.
토큰 계정 구조 다이어그램
중요한 점은 AccountInfo의 소유자 필드와 데이터 필드의 소유자는 완전히 다르다는 점을 강조하는 것이 중요합니다. 전자는 솔라나의 모든 계정에 있는 필드로, 현재 계정 데이터를 직접 수정할 수 있는 권한을 가진 주소를 나타내며, 후자는 토큰 계정이 실제로 누구의 소유인지를 나타내며 그 자체가 AccountInfo 데이터 필드의 일부입니다.
이 모든 것을 종합하면 다음과 같은 계정 관계 다이어그램을 얻을 수 있습니다. 시스템 프로그램이든 토큰 프로그램이든 블록체인상의 고유 주소에 배포되고 라이브러리 형태로 존재하며, 지갑 계정은 동시에 여러 토큰 계정을 보유할 수 있으며, 이러한 토큰 계정의 실제 '소유자'는 지갑 계정입니다. 지갑 계정은 동시에 여러 개의 토큰 계정을 보유할 수 있으며, 이러한 토큰 계정의 진정한 "소유자"입니다; 동일한 유형의 토큰 계정의 민트 필드는 해당 유형의 토큰에 대한 고유한 민트 계정을 가리키며, 이는 토큰의 총 공급량과 같은 정보를 기록합니다.
솔스캔에서 토큰 계정 변경 사항 보기< /h2>
솔스캔을 사용하여 단일 트랜잭션에서 토큰 계정의 변경 사항을 볼 수 있습니다:
https://solscan.io/tx/ byRn8qtNAYSdvgaGCK4kmZV1m89b7uuFuy1cn96W6femp7WgwymLqJ2MP9hPbegqN9EPe7NvghWpqDFqoCDjKph#tokenBalanceChange
주소 열에는 거래에 관련된 모든 토큰 계정이 나열됩니다.
소유자 열은 토큰 계정 데이터 필드에 있는 토큰의 실제 "소유자"를 식별합니다.
토큰 열은 왼쪽;">Token 열은 현재 토큰의 Mint 계정에 해당하며, $SON의 첫 번째 줄을 클릭하면 더 자세히 볼 수 있습니다.
프로필 요약의 소유자 프로그램에 현재 민트 계정의 소유자가 토큰 프로그램이라고 명시되어 있는 것을 확인할 수 있습니다. 솔스캔.
그러나 솔스캔의 표시가 오해의 소지가 있을 수 있습니다. 예를 들어, 이전 이미지의 첫 번째 줄에 추가된 잔액은 CHS9WajyFfuaAZRk2JC7hRJvPHXmG5fC94gtAPbnLjuY 주소에 속하는 것인지 아니면 레이디움 어쏘리티 V4에 속하는 것인지 이 표현은 확실히 이해의 비용을 증가시킵니다.
이 외에도 독자들은 솔스캔에서 솔라나 토큰과 다른 토큰이 두 섹션으로 분리되어 표시되는 것을 볼 수 있습니다. 이러한 구분은 기술적으로는 타당하지만, 토큰과 같은 섹션 아래에 표시되는 것이 더 이해하기 쉬울 것입니다.
팔콘 탐색기는 이 문제를 해결할 뿐만 아니라 솔스캔의 다른 많은 기능도 수행하므로 팔콘 탐색기를 사용하여 동일한 트랜잭션을 다시 살펴 보겠습니다.
? 링크를 열어 함께 분석해 보시면 거래의 세부 사항을 더 잘 이해하고 Phalcon Explorer의 강력한 성능을 느끼실 수 있습니다.
?
https://app.blocksec.com/explorer/tx/solana/ byRn8qtNAYSdvgaGCK4kmZV1m89b7uuFuy1cn96W6femp7WgwymLqJ2MP9hPbegqN9EPe7NvghWpqDFqoCDjKph
사용하세요. Phalcon 탐색기를 사용하여 거래 조회 및 분석
팔콘 탐색기 상단에서 현재 거래가 JITO MEV 거래로 인식되고 있음을 확인할 수 있으며, 거래 서명 옆의 솔라나 로고를 클릭하면 클릭 한 번으로 솔스캔으로 이동할 수 있습니다.
. 왼쪽;">거래에 대한 정보는 기본 정보, 자금 흐름, 잔액 변경, 호출 흐름의 네 가지 섹션으로 나뉘며 오른쪽 상단의 아이콘을 클릭하여 해당 섹션으로 전환할 수 있습니다.
기본 정보
기본 정보 섹션은 비교적 간단하며 현재 트랜잭션에 대한 몇 가지 주요 정보를 제공합니다. 트랜잭션 서명과 마찬가지로 블록 번호와 서명자 주소를 클릭하면 솔스캔으로 이동할 수 있습니다.
자금 흐름
펀드 흐름 열은 애널리스트에게 거래가 체결될 때 발생하는 자금 흐름 이체 및 타이밍에 대한 정보를 제공합니다. 보시다시피:
거래의 개시자 겸 서명자인 59vLEsmV5VCCGTxjHCoRiXkNgHDVcq7dGx98v9HCn2F가 먼저 다음 사람에게 편지를 보냅니다.
그런 다음 레이디움 오소리티 V4가 레이디움 오소리티 V4라고 표시된 주소로 일정 금액의 토큰을 전송합니다.
그다음 레이디움 오소리티 V4가 서명자에게 일정 금액의 토큰을 전송합니다. 약 6.747개의 래핑된 SOL 토큰을 전송한 59vLEsmV5VCCGTxjHCoRiXkNgHDVcq7dGx98v9HCn2F;
마지막으로, 서명자는 또한 Jito에게 다음을 제공했습니다. 0.000003 SOL 토큰을 Jito의 검증인에게 트랜잭션 수행에 대한 팁으로 제공했습니다.
아래 차트는 솔스캔의 자금 흐름을 보여줍니다. 솔스캔에 비해 팔콘 익스플로러의 흐름 차트는 각 주소마다 하나의 노드에 고유하므로 주소 간의 흐름 관계를 쉽게 찾을 수 있고 분석의 효율성이 향상됩니다.
거래의 자금 흐름을 더 깊이 분석하고 싶다면 화면 오른쪽을 클릭하면 보다 심층적인 분석 결과를 볼 수 있습니다. 거래의 자금 흐름을 더 자세히 분석하려면 오른쪽 상단의 갈색 로고를 클릭하여 메타슬레쉬에 액세스할 수도 있습니다.
잔액 및 변동
잔액 변경 열에서는 현재 거래 종료 이후 여러 계정의 모든 토큰이 어떻게 변경되었는지 명확하게 파악할 수 있습니다.
잔액 변동 내역
예를 들어, 59vLEsmV5VCCGTxjHCoRiXkNgHDVcq7dGx98v9HCn2F 거래의 서명자는 3개의 토큰 변경, 네이티브 SOL 토큰, 토큰의 이름은 61Hh8Udg7zruvG3BhyNiHF4UmULnC8reB9RBFtwi8uKp 및 래핑된 SOL 토큰.
잔액 변경에 표시되는 각 계정 잔액 변경에 표시되는 각 주소에는 하나 이상의 토큰 계정이 있으며, 해당 주소를 클릭하여 복사하거나 solscan으로 리디렉션할 수 있습니다.
위에서 볼 수 있듯이 팔콘 탐색기는 SOL 토큰과 다른 토큰을 구분하지 않기 때문에 계정에 있는 모든 토큰 계정의 변경 사항을 직접 반영하고 토큰 계정과 그 토큰 계정 간의 관계를 표시할 수 있습니다. 토큰 계정과 토큰 계정 소유자 간의 관계를 보다 직관적으로 보여줍니다.
인보케이션 및 흐름
인보케이션 흐름은 거래의 주문 실행 흐름을 기록하며, 각 줄은 솔라나 거래 실행 중 단일 주문에 해당합니다.
여기서는 토큰 전송과 관련된 지침 2와 4에 초점을 맞춥니다.
두 번째 인스트럭션은 토큰을 판매하기 위해 레이디움 AMM의 swapBaseIn을 호출합니다.이 인스트럭션을 확장하면 두 개의 CPI(교차 프로그램 호출) 인스트럭션으로 구성된다는 것을 알 수 있습니다. 레이디움 오소리티 V4와 거래 서명자 간의 토큰 전송; 그리고 네 번째 명령은 서명자가 지토에게 팁을 지불하는 과정입니다.
아래 이미지에서 볼 수 있듯이, 인스트럭션 뒤에 있는 계정 탭을 클릭하면 인스트럭션에 관련된 모든 계정을 볼 수 있습니다. 이는 솔스캔보다 훨씬 깔끔하게 표시되므로 애널리스트가 거래에서 더 중요한 정보에 집중할 수 있습니다.
결론
이 백서에서는 먼저 솔라나에서 토큰을 구현하는 원리를 소개한 다음, 솔스캔을 사용하여 단일 트랜잭션에서 토큰 계정의 변경 사항을 확인했습니다. 마지막으로 Phalcon Explorer를 사용하여 트랜잭션을 추가로 분석하고 Phalcon Explorer 기능의 혁신과 최적화에 대한 세부 사항을 제시합니다.
기사>