Chào mừng bạn đến với số thứ ba của loạt bài "Chơi cùng Solana". Trong số đầu tiên của bài viết, chúng ta đã tìm hiểu về cơ chế hoạt động, mô hình tài khoản và cấu trúc giao dịch của chuỗi khối Solana; trong số thứ hai của bài viết, chúng ta đã tìm hiểu cách sử dụng Rust để viết chương trình Solana để xuất bản và hiển thị các bài viết và Kiểm tra nó bằng cách sử dụng tập lệnh TypeScript.
Là số cuối cùng của loạt bài này, bài viết này sẽ hướng dẫn bạn sử dụng Phalcon Explorer để phân tích một giao dịch Solana đơn giản. Nhưng trước đó, chúng ta hãy xem cách triển khai Token trên Solana.
Giới thiệu về Token
Token trên Solana có thể được chia thành Hai loại: Mã thông báo gốc và Mã thông báo khác.
Mã thông báo gốc thực chất là Mã thông báo Solana (SOL). Chúng tôi đã đề cập ở bài viết trước rằng mọi tài khoản trong Solana đều có trường Lamports thực chất là đơn vị nhỏ nhất của SOL Token (1 SOL = 1 tỷ Lamports), ghi lại số dư của tài khoản Solana Token hiện tại.
Đối với các Token khác, Solana sử dụng một tài khoản chương trình (Chương trình Token) và hai tài khoản dữ liệu (Tài khoản Mint và Tài khoản Token) để đạt được những gì Token yêu cầu.
Mã thông báo Chương trình
Mã thông báo Chương trình  ;Sơ đồ cấu trúc
Chương trình mã thông báo là tài khoản chương trình được cung cấp bởi Thư viện chương trình Solana (SPL), do đó trường Thực thi của AccountInfo được hiển thị là True.
Như chúng tôi đã giới thiệu ở bài viết đầu tiên, chủ sở hữu của tất cả các tài khoản chương trình là BPF Loader, và Token Program cũng không ngoại lệ. Ngoài ra, giống như System Program, Token Program cũng được triển khai tại một địa chỉ cố định trên chuỗi Solana.
Là tài khoản chương trình, nó triển khai một số hướng dẫn để cung cấp các chức năng khác nhau. Ví dụ: một số hướng dẫn được sử dụng để tạo Tài khoản Mint để khởi tạo Mã thông báo mới hoặc tạo Tài khoản Mã thông báo để ghi lại số lượng Mã thông báo được giữ bởi một địa chỉ nhất định trong khi các hướng dẫn khác cung cấp tất cả các chức năng cần thiết để sử dụng Mã thông báo, chẳng hạn như Hướng dẫn MintTo để tăng số lượng mã thông báo hoặc Hướng dẫn chuyển để chuyển mã thông báo giữa một cặp địa chỉ.
Cần lưu ý rằng vì Chương trình Token chịu trách nhiệm tạo Tài khoản Mint và Tài khoản Token nên chương trình cũng là chủ sở hữu của hai tài khoản này.
Mint Tài khoản
Cấu trúc và mối quan hệ của Mint Tài khoản Như được hiển thị bên dưới: Tài khoản Mint là tài khoản dữ liệu, có nghĩa là trường Thực thi của AccountInfo của nó là Sai.
Trên Solana, mỗi Token tương ứng với một Tài khoản Mint. Tài khoản Mint ghi lại tổng nguồn cung cấp loại Token này, địa chỉ tài khoản có quyền Mint đối với Token này và các thông tin khác.
Mã thông báo Tài khoản
Tài khoản mã thông báo được sử dụng để ghi lại cá nhân Số lượng token nhất định được nắm giữ. Đối với một loại Token nhất định, mỗi tài khoản nắm giữ Token sẽ có một Tài khoản Token. Nếu người dùng sở hữu 5 Token thì người đó sẽ có 5 Tài khoản Token.
Tài khoản Token là một tài khoản dữ liệu và phần Dữ liệu của AccountInfo bao gồm ba trường:
Mint: Địa chỉ của Tài khoản Mint tương ứng với Tài khoản Token;
Chủ sở hữu: Tài khoản có quyền chuyển Token ra khỏi Tài khoản Token, tức là "chủ sở hữu" thực sự của Token;
Số lượng: Số lượng Token hiện đang được giữ bởi Tài khoản Token.
Sơ đồ cấu trúc tài khoản Mã thông báo
Cần nhấn mạnh rằng trường chủ sở hữu trong AccountInfo và chủ sở hữu trong trường Dữ liệu hoàn toàn khác nhau. Trường trước là trường thuộc sở hữu của mọi tài khoản trong Solana. Nó cho biết địa chỉ nào có quyền sửa đổi trực tiếp dữ liệu tài khoản hiện tại; trường sau cho biết Mã thông báo được ghi lại bởi Tài khoản mã thông báo thực sự thuộc về ai. Trường dữ liệu.
Bằng cách kết nối các nội dung trên với nhau, chúng ta có được sơ đồ sau về các mối quan hệ tài khoản. Cho dù đó là Chương trình hệ thống hay Chương trình mã thông báo, chúng đều được triển khai tại một địa chỉ duy nhất trên blockchain và tồn tại dưới dạng thư viện; một tài khoản ví có thể chứa nhiều Tài khoản mã thông báo cùng một lúc và đó là "chủ sở hữu" thực sự của các Tài khoản Token này; Trường Mint của cùng loại Tài khoản Token trỏ đến Tài khoản Mint duy nhất cho loại Token này và tài khoản này ghi lại tổng nguồn cung cấp Token và các thông tin khác.
Xem các thay đổi về tài khoản Token trong Solscan < /strong>
Chúng ta có thể sử dụng Solscan để xem những thay đổi trong tài khoản Token trong một giao dịch:
https://solscan.io/tx/byRn8qtNAYSdvgaGCK4kmZV1m89b7uuFuy1cn96W6femp7WgwymLqJ2MP9hPbegqN9EPe7NvghWpqDFqoCDjKph#tokenBalanceChange
Cột Địa chỉ liệt kê tất cả các Tài khoản Token liên quan đến giao dịch;
Cột Chủ sở hữu đánh dấu "chủ sở hữu" thực sự của Mã thông báo, là chủ sở hữu trong trường Dữ liệu tài khoản mã thông báo;
Mã thông báo một Cột tương ứng với Mint Tài khoản của Token hiện tại. Chúng ta có thể nhấp vào $SON ở dòng đầu tiên để xem thêm:
Như bạn có thể thấy, Chương trình chủ sở hữu trong Tóm tắt hồ sơ chỉ ra rằng chủ sở hữu hiện tại của Tài khoản Mint là Chương trình mã thông báo . Cho đến nay chúng tôi đã ánh xạ cả ba loại tài khoản trong Solscan.
Tuy nhiên, cách hiển thị của Solscan có thể gây ra một số hiểu lầm. Ví dụ: Số dư được thêm vào dòng đầu tiên của hình ảnh trước đó thuộc về địa chỉ CHS9WajyFfuaAZRk2JC7hRJvPHXmG5fC94gtAPbnLjuY hay nó thuộc về Raydium Authority V4? Cách trình bày này chắc chắn làm tăng chi phí hiểu biết.
Ngoài ra, độc giả cũng có thể thấy Solana Token và các Token khác trong Solscan được hiển thị riêng biệt trong hai phần. Mặc dù phương pháp phân chia này hợp lý về mặt kỹ thuật nhưng sẽ dễ hiểu hơn nếu chúng có thể được coi là Mã thông báo và được đặt trong cùng một phần trong khi hiển thị.
Phalcon Explorer không chỉ giải quyết các vấn đề trên mà còn đưa ra nhiều cải tiến khác cho Solscan. Tiếp theo, chúng ta hãy sử dụng Phalcon Explorer để xem xét giao dịch tương tự.
? Bạn nên mở liên kết và làm theo các bước phân tích của chúng tôi để có thể hiểu rõ hơn về chi tiết giao dịch và cảm nhận được các chức năng mạnh mẽ của Phalcon Explorer ?
https://app.blocksec.com/explorer/tx/solana/byRn8qtNAYSdvgaGCK4kmZV1m89b7uuFuy1cn96W6femp7WgwymLqJ2MP9hPbegqN9EPe7NvghWpqDFqoCDjKph
Sử dụng Phalcon Explorer để xem và phân tích các giao dịch
Bạn có thể thấy ngay phía trên Phalcon Explorer rằng giao dịch hiện tại được công nhận là giao dịch JITO MEV và bạn có thể nhấp vào Solana bên cạnh giao dịch đó. chữ ký giao dịch Logo để chuyển tới Solscan chỉ bằng một cú nhấp chuột.
Thông tin về giao dịch này được chia thành bốn phần, cụ thể là: Thông tin cơ bản, Dòng tiền, Thay đổi số dư và Luồng yêu cầu. Bạn có thể nhấp vào góc trên bên phải. biểu tượng để chuyển sang phần tương ứng.
Thông tin Cơ bản
Thông tin trong cột Thông tin cơ bản tương đối đơn giản và nó cung cấp một số thông tin chính về hiện tại giao dịch. Tương tự như chữ ký giao dịch, bạn cũng có thể nhấp vào số khối và địa chỉ người ký để chuyển sang Solscan.
Dòng vốn
Cột Dòng tiền cung cấp cho các nhà phân tích thông tin chuyển tiền và thời gian được tạo trong quá trình thực hiện giao dịch. Chúng ta có thể thấy:
Người khởi tạo và người ký giao dịch 59vLEsmV5VCCGTxjHCoRiXkNgHDVcq7dGx98v9HCn2F lần đầu tiên được đánh dấu là Địa chỉ của Raydium Authority V4 đã chuyển một lượng Token nhất định;
Sau đó, Raydium Authority V4 đã chuyển khoảng 6,747 cho người ký 59vLEsmV5VCCGTxjHCoRiXkNgHDVcq7dGx98v9HCn2F Wrapped SOL Token;
Cuối cùng, người ký cũng cung cấp cho Jito 0,000003 SOL Token như một mẹo để người xác minh của Jito thực hiện giao dịch.
Hình bên dưới thể hiện sơ đồ dòng vốn tại Solscan. So với Solscan, biểu đồ dòng tiền của mỗi địa chỉ trong Phalcon Explorer tương ứng duy nhất với một nút, do đó, việc khám phá mối quan hệ dòng tiền giữa các địa chỉ sẽ dễ dàng hơn và cải thiện hiệu quả phân tích.
Nếu bạn muốn tiến hành phân tích sâu hơn về dòng vốn của giao dịch, bạn cũng có thể nhấp vào biểu tượng màu nâu ở góc trên bên phải để vào MetaSleush.
Cân bằng Thay đổi
Cột Thay đổi số dư cho chúng ta thấy rõ những thay đổi về tất cả Token của các tài khoản khác nhau sau khi giao dịch hiện tại kết thúc . Tình trạng.
Ví dụ: ba mã thông báo của người ký giao dịch 59vLEsmV5VCCGTxjHCoRiXkNgHDVcq7dGx98v9HCn2F đã thay đổi, đó là Mã thông báo SOL gốc, mã thông báo có tên 61Hh8Udg7zruvG3BhyNiHF4UmULnC8reB9RBFtwi8uKp và Mã thông báo SOL được bao bọc .
Mỗi Địa chỉ Tài khoản xuất hiện trong Thay đổi Số dư có một hoặc nhiều Tài khoản Token, có thể được sao chép hoặc chuyển sang bằng cách nhấp vào địa chỉ Solscan tương ứng.
Chúng ta có thể thấy rằng Phalcon Explorer không phân biệt giữa SOL Token và các Token khác nên nó có thể phản ánh trực tiếp những thay đổi trong tất cả các Token của một tài khoản và Nó có thể hiển thị trực quan hơn mối quan hệ giữa Tài khoản Token và Chủ sở hữu của nó.
Lời gọi Luồng
Luồng lệnh gọi ghi lại quá trình thực hiện lệnh của giao dịch và mỗi dòng trong đó tương ứng với giao dịch Solana thực hiện một lệnh vào thời điểm đó.
Ở đây, chúng tôi tập trung vào hai hướng dẫn 2 và 4 liên quan đến chuyển Token.
Lệnh thứ hai gọi swapBaseIn của AMM của Raydium để bán Token. Mở rộng hướng dẫn này và bạn có thể thấy rằng nó bao gồm hai hướng dẫn CPI (Gọi chương trình chéo). Chức năng của hai hướng dẫn này là chuyển Token giữa Raydium Authority V4 và người ký giao dịch; hướng dẫn thứ tư dành cho người ký chuyển mã thông báo; đến Jito. Quá trình tip.
Như minh họa trong hình bên dưới, bằng cách nhấp vào tab Tài khoản sau hướng dẫn, chúng ta có thể xem tất cả các tài khoản liên quan đến hướng dẫn. So với Solscan, phương pháp hiển thị này sẽ ngắn gọn hơn, cho phép các nhà phân tích tập trung vào những thông tin quan trọng hơn trong giao dịch.
Kết luận
Trong bài viết này lần đầu tiên chúng tôi giới thiệu nguyên tắc triển khai Token trong Solana, sau đó sử dụng Solscan để xem giao dịch Những thay đổi trong tài khoản Token. Cuối cùng, chúng tôi đã sử dụng Phalcon Explorer để phân tích sâu hơn về giao dịch và giới thiệu các chi tiết cải tiến và tối ưu hóa của chức năng Phalcon Explorer.