5分钟教你看懂Solana交易

时间:2024-09-24 编辑: 浏览:(662)

欢迎来到《玩转Solana》系列的第3期。在第1期文章中,我们学习了Solana区块链的运行机制、账户模型和交易结构;在第2期文章中,我们学习了如何使用Rust来编写一个用于发布和展示文章的Solana程序并利用TypeScript脚本对其进行测试。

作为本系列的最后一期,本文将带领大家使用Phalcon Explorer来分析一笔简单的Solana交易。不过在此之前,让我们先来看看Solana上的Token是如何实现的。

关于Tokens

Solana上的Token可以分为两类:Native Token和其它Token。

Native Token其实就是Solana Token (SOL)。我们在之前的文章里曾提到,Solana中的每一个账户都拥有一个Lamports字段,Lamports实际上是SOL Token的最小单位(1 SOL = 10亿Lamports),它记录了当前账户Solana Token的余额。

而对于其它Token,Solana使用了一个程序账户(Token Program)以及两种数据账户(Mint Account和Token Account),来实现Token需要的所有功能。

TokenProgram

TokenProgram结构示意图

Token Program是由Solana Program Library(SPL)提供的一个程序账户,因此AccountInfo的Executable字段显示为True。

正如我们在第一篇文章中介绍的那样,所有程序账户的拥有者都是BPF Loader,Token Program也不例外。此外,和System Program一样,Token Program也被部署在Solana链上的一个固定地址。

作为一个程序账户,它实现了数个指令来提供不同的功能。比如,一些指令被用于创建Mint Account以初始化一种新的Token,或是创建Token Account用于记录某一个地址持有的Token数量;而另一些指令则提供了使用Token需要的所有功能,比如增加Token数量的MintTo指令,或是用于在一对地址之间转移Token的Transfer指令。

需要注意,由于Token Program负责创建Mint Account和Token Account,它还是这两种账户的拥有者。

MintAccount

Mint Account的结构和关系如下所示:Mint Account是一种数据账户,这意味着其AccountInfo的Executable字段为False。

在Solana上,每一种Token都和一个Mint Account对应。Mint Account记录了该种Token的总供应量,拥有Mint该Token权限的账户地址等信息。

TokenAccount

Token Account用于记录个体持有某种特定Token的数量。针对某一种Token,每一个持有该Token的账户都拥有一个Token Account。如果某用户拥有5种Token,那么TA将拥有5个Token Account。

Token Account作为一种数据账户,其AccountInfo的Data部分由三个字段组成:

Mint:该Token Account对应的Mint Account的地址;

Owner:有权将Token Account中Token转出的账户,即该Token真正的“owner”;

Amount:当前Token Account持有的Token数量。

TokenAccount结构图

需要强调的是,AccountInfo中的owner字段和Data字段中的owner是完全不同的。前者是Solana中每一个账户都拥有的一个字段,它指明了哪一个地址拥有直接修改当前账户数据的权限;后者则指明了该Token Account所记录的Token实际上是属于谁的,该字段本身是AccountInfo Data字段的一部分。

将上述的内容串联起来,我们便能得到下面这张账户关系的示意图。不管是System Program还是Token Program,它们在区块链上都部署在唯一的地址,以库的形式存在;一个钱包账户可能同时持有多个Token Account,它是这些Token Account真正的“owner”;同一类Token Account的Mint字段指向了该种Token唯一的Mint Account,而该账户则记录了Token的总供应量等信息。

在Solscan查看Token账户变化情况

我们可以使用Solscan来查看一笔交易中Token账户的变化情况:

https://solscan.io/tx/byRn8qtNAYSdvgaGCK4kmZV1m89b7uuFuy1cn96W6femp7WgwymLqJ2MP9hPbegqN9EPe7NvghWpqDFqoCDjKph#tokenBalanceChange

Address一栏列出了该交易涉及到的所有Token Account;

Owner一栏则标注了该Token真正的“拥有者”,也就是Token Account Data字段中的owner;

Token一栏则对应了当前Token的MintAccount,我们可以点进第一行的$SON进一步查看:

可以看到,Profile Summary中的Owner Program指明了当前Mint Account的拥有者是Token Program,至此三类账户我们都在Solscan中进行了对应。

不过,Solscan这种展示方法可能会给人带来一些误解。比如,在上一张图中第一行增加的Balance到底属于地址CHS9WajyFfuaAZRk2JC7hRJvPHXmG5fC94gtAPbnLjuY,还是Raydium Authority V4?这种展示方式无疑增加了理解的成本。

除此之外,读者也许还会发现,Solscan中的Solana Token和其它Token在两个板块分开展示。尽管这种分割方式在技术上是合理的,但如果能在展示时将它们统一视作Token放置在相同板块下则更加容易理解。

Phalcon Explorer不仅解决了上述问题,还针对Solscan做了很多其它创新,接下来让我们再使用Phalcon Explorer来看看同一笔交易。

? 建议打开链接,跟随我们的步骤一起分析,这样可以更好地了解交易细节,感受PhalconExplorer的强大功能?

https://app.blocksec.com/explorer/tx/solana/byRn8qtNAYSdvgaGCK4kmZV1m89b7uuFuy1cn96W6femp7WgwymLqJ2MP9hPbegqN9EPe7NvghWpqDFqoCDjKph

使用PhalconExplorer查看和分析交易

在Phalcon Explorer的正上方可以看到,当前交易被识别成了JITO的MEV交易,并且可以通过点击交易签名旁的Solana标识来一键跳转到Solscan。

关于这笔交易的信息被分成了四个板块,分别是:Basic Info,Fund Flow,Balance Changes和Invocation Flow,你可以通过点击右上角的图标来切换到相应的部分。

BasicInfo

Basic Info一栏的信息相对简单,它提供了一些关于当前交易的关键信息。和交易签名类似,你也可以点击区块号和签名者地址来跳转到Solscan上。

Fund Flow

Fund Flow一栏为分析者提供了交易执行时产生的资金流转移和时序信息。我们可以看到:

交易的发起者兼签名者59vLEsmV5VCCGTxjHCoRiXkNgHDVcq7dGx98v9HCn2F首先向被标记为Raydium Authority V4的地址转移了一定数量的某种Token;

接着Raydium Authority V4向签名者59vLEsmV5VCCGTxjHCoRiXkNgHDVcq7dGx98v9HCn2F转账了约6.747的Wrapped SOL Token;

最后,签名者还向Jito提供了0.000003的SOL Token作为Jito验证者执行交易的小费。

下图为Solscan中的资金流向图。相较于Solscan,每一个地址在Phalcon Explorer中的资金流向图唯一对应到一个节点,故而能更容易发现地址之间的资金流向关系,提高分析时的效率。

如果你想要对交易的资金流向进行更深入的分析还可以点击右上角的棕色标识进入MetaSleush。

BalanceChanges

Balance Changes一栏为我们清晰展示了不同账户在当前交易结束后所有Token的变化情况。

比如,交易的签名者59vLEsmV5VCCGTxjHCoRiXkNgHDVcq7dGx98v9HCn2F就有三种Token发生了变化,分别是原生的SOL Token、名为61Hh8Udg7zruvG3BhyNiHF4UmULnC8reB9RBFtwi8uKp的Token,以及Wrapped SOL Token。

在Balance Changes中出现的每一个Account Address都拥有一个或多个Token Account,通过点击相应的地址能够对其进行拷贝或跳转到solscan上。

我们可以看到,Phalcon Explorer并没有对SOL Token和其它Token作区分,故而能直接反映出某一账户所有Token的变化情况,并且能更加直观地展示Token Account和其Owner之间的关系。

InvocationFlow

Invocation Flow记录了交易的指令执行流程,其中的每一行都对应了Solana交易执行时的一条指令。

在这里,我们重点关注2和4这两条涉及到Token转移的指令。

第二条指令调用了Raydium的AMM的swapBaseIn来卖掉Token。展开该指令可以看到它由两条CPI(Cross Program Invocation)指令组成,这两条指令的作用是在Raydium Authority V4和交易签名者之间进行Token转移;第四条指令则是签名者向Jito支付小费的过程。

如下图所示,通过点击指令后的Accounts标签,我们可以查看指令涉及到的所有账户。相较于Solscan,这种展示方式会更加简洁,让分析者将注意力放在交易中更关键的信息上。

结论

在本文中我们首先介绍了Solana中Token的实现原理,随后使用Solscan查看了一笔交易中Token Account的变化情况。最后,我们使用Phalcon Explorer对该交易作了进一步分析,并介绍了Phalcon Explorer功能上的创新和优化细节。

最新 更多 >
  • 1 BTC 跌到底了?九大链上指标解读当前市场趋势

    1、目前,部分指标显示比特币下跌差不多接近底部。2、抛售信号暂未出现,适合持币或者继续少量买入,不需要恐慌出货。3、未来一个月就算跌破 5 万,加密也不会结束,放心没?虽然当前的行情像极了二战,德国 +日本瞎嚯嚯,对应德国政府和门头沟疯狂卖币,全靠 中国 +俄罗斯 +美国。那么,转折点会不会是 8 月 6 日?最终胜利 8 月 15 日?话不多说,9 个 BTC 链上实用指标 ,点开 Thread

  • 2 TON 生态成 Mini Dapp 蓝海 开发者如何才能抢占先机?

    “活动报名人数超过500人,能容纳两百人左右的活动现场座无虚席,走廊里站满了前来的参会人员,甚至有不少用户在场外草地上、旁边的星巴克、肯德基里等自发组织了分会场。用户对TON生态的fomo热情,仿佛让人回到了2017年以太坊上的ICO盛况。”一位从6月22日TON深圳开发者活动现场返回的加密OG对ChainCatcher描述道。不仅用户关注TON生态的发展,多家顶级加密投资机构公开表示看好并早已布

  • 3 Shiba Inu:自2020年以来每天1美元的SHIB变成今天的2400万美元

    Shiba Inu(SHIB)是市场上最成功的加密货币之一。该资产在2021年牛市中爆发式上涨,涨幅高达数百万%。早期的投资者变成了千万富翁,在某些情况下甚至是亿万富翁。 如果你自2020年8月推出SHIB以来每天在它上投资1美元,到目前为止你会投入1385美元。在过去的四年里,投资将增长1784369%(170万%),如今已达到2470万美元。 来源:CryptoDCA 另请阅读:Shiba

  • 4 英格索尔洛克伍德宣布推出代币$INGER

    新闻稿。美国佛罗里达州德尔雷海滩——Ingersoll Lockwood是一个向Q、17、数字士兵和所有寻求“让美国再次伟大”的人致敬的项目,该项目正在推出其本土代币$INGER。代币预售正在进行中,计划于2024年7月11日星期四下午1点(UTC)结束,这是一个通过“大觉醒”加入激动人心的冒险的机会,这与加密货币中普遍存在的不同。英格索尔-洛克伍德团队计划推出一个带有隐藏链接的NFT系列。 英格

  • 5 伦敦证券交易所集团的Patrick Strobel调任LCH首席技术官

    被伦敦证券交易所集团(LSEG)收购的全球清算所LCH已任命Patrick Strobel为首席技术官。Strobel在LSEG担任SwapClear和监管报告技术负责人已经三年多了,他今天宣布了自己的最新职业变动。 主要品牌的经验 根据斯特罗贝尔的简介,他还担任LSEG证券技术和UnaVista主管,直到2022年。这位资深高管过去曾为其他主要行业品牌工作,包括Liquidnet、德意志银行和摩

  • 6 Upbit列出以太坊名称服务:市场影响分析

    ENS(以太坊名称服务)在韩国最大的加密货币交易所Upbit上市。此举引起了一些关注,因此ENS的价格大幅上涨。 看到市场如此迅速的变化令人鼓舞,但也可能令人担忧。让我们深入探讨细节。 另请阅读:21Shares文件更新S-1现货以太坊ETF ENS上市公告后价格上涨 今天,2024年6月9日,Upbit就上市事宜发表了官方声明: “2024年7月9日,ENS将整合到Upbit的韩元市场。

  • 7 Cega、Pendle和Ether.fi使用收益代币构建休息产品,获得超过107x点的风险敞口

    新加坡,新加坡,2024年7月9日,Chainware Cega、Pendle和Ether.fi今天很高兴地宣布推出“Pendle Ether.fi YT Tiger”。这标志着DeFi创新向前迈出了重要一步。通过利用Pendle的收益代币(YT),Cega为YT创造了有史以来第一个超越传统点数持有的实用工具。 在Ether.fi上进行液体充值和使用Pendle YT eETH进行积分农业的De

  • 8 比特币人气下降,但这对BTC的价格来说是个好兆头

    过去几天,社交媒体平台上对比特币的情绪大幅下降。尽管市场情绪消极,但BTC的ETF流入量激增。 比特币[BTC]最近的价格下跌全面影响了几种加密货币,因为整体市场前景已转为负面。 市场情绪变得悲观 根据Santiment的数据,本周,X(前身为Twitter)、Reddit、Telegram、4Chan和BitcoinTalk等社交媒体平台的比特币情绪已跌至一年来最悲观的点。 交易员们表达了前所未

  • 9 Bankless:一文读懂 IP 区块链Story Network

    作者:William M. Peaster,Bankless;编译:五铢,知识产权 (IP) 包括艺术作品、设计、图像、发明、名称和符号等创作。这涵盖了从人工智能模型到游戏资产的大量资产。尽管其价值巨大,估计达数万亿美元,但 IP 往往仍停留在过时的法律体系中,难以获得许可、货币化和有效交易。这就是新 Story Network 的用武之地,这是一个新的区块链,旨在将 IP 转化为流动、可编程和可

  • 10 BYDFi:解锁真正的去中心化加密体验

    加密货币市场建立在全球任何人都可以访问区块链服务的原则之上。然而,如今许多加密货币交易所限制某些国家和地区的用户在其平台上访问这些区块链功能。这些行动迫使用户寻找替代加密平台,或依赖虚拟专用网络(VPN)来绕过监管打击,这些行动往往会带来一些缺点。 想象一下,有一个加密货币交易所,无论在哪里,每个人都可以访问。这就是BYDFi带来的。通过其产品套件,该平台为用户提供集中式加密货币交易所常见的福利,