一文讀懂Solana交易原理
一文讀懂Solana交易原理!本文將帶領(lǐng)大家使用Phalcon Explorer來(lái)分析一筆簡(jiǎn)單的Solana交易。不過在此之前,讓我們先來(lái)看看Solana上的Token是如何實(shí)現(xiàn)的。需要的朋友一起看看吧!
關(guān)于Tokens
Solana上的Token可以分為兩類:Native Token和其它Token。
Native Token其實(shí)就是Solana Token (SOL)。我們?cè)谥暗奈恼吕镌岬剑琒olana中的每一個(gè)賬戶都擁有一個(gè)Lamports字段,Lamports實(shí)際上是SOL Token的最小單位(1 SOL = 10億Lamports),它記錄了當(dāng)前賬戶Solana Token的余額。
而對(duì)于其它Token,Solana使用了一個(gè)程序賬戶(Token Program)以及兩種數(shù)據(jù)賬戶(Mint Account和Token Account),來(lái)實(shí)現(xiàn)Token需要的所有功能。
Token Program
Token Program 結(jié)構(gòu)示意圖
Token Program是由Solana Program Library(SPL)提供的一個(gè)程序賬戶,因此AccountInfo的Executable字段顯示為True。
正如我們?cè)诘谝黄恼轮薪榻B的那樣,所有程序賬戶的擁有者都是BPF Loader,Token Program也不例外。此外,和System Program一樣,Token Program也被部署在Solana鏈上的一個(gè)固定地址。
作為一個(gè)程序賬戶,它實(shí)現(xiàn)了數(shù)個(gè)指令來(lái)提供不同的功能。比如,一些指令被用于創(chuàng)建Mint Account以初始化一種新的Token,或是創(chuàng)建Token Account用于記錄某一個(gè)地址持有的Token數(shù)量;而另一些指令則提供了使用Token需要的所有功能,比如增加Token數(shù)量的MintTo指令,或是用于在一對(duì)地址之間轉(zhuǎn)移Token的Transfer指令。
需要注意,由于Token Program負(fù)責(zé)創(chuàng)建Mint Account和Token Account,它還是這兩種賬戶的擁有者。
Mint Account
Mint Account的結(jié)構(gòu)和關(guān)系如下所示:Mint Account是一種數(shù)據(jù)賬戶,這意味著其AccountInfo的Executable字段為False。
在Solana上,每一種Token都和一個(gè)Mint Account對(duì)應(yīng)。Mint Account記錄了該種Token的總供應(yīng)量,擁有Mint該Token權(quán)限的賬戶地址等信息。
Token Account
Token Account用于記錄個(gè)體持有某種特定Token的數(shù)量。針對(duì)某一種Token,每一個(gè)持有該Token的賬戶都擁有一個(gè)Token Account。如果某用戶擁有5種Token,那么TA將擁有5個(gè)Token Account。
Token Account作為一種數(shù)據(jù)賬戶,其AccountInfo的Data部分由三個(gè)字段組成:
Mint: 該Token Account對(duì)應(yīng)的Mint Account的地址;
Owner: 有權(quán)將Token Account中Token轉(zhuǎn)出的賬戶,即該Token真正的“owner”;
Amount:當(dāng)前Token Account持有的Token數(shù)量。
Token Account 結(jié)構(gòu)圖
需要強(qiáng)調(diào)的是,AccountInfo中的owner字段和Data字段中的owner是完全不同的。前者是Solana中每一個(gè)賬戶都擁有的一個(gè)字段,它指明了哪一個(gè)地址擁有直接修改當(dāng)前賬戶數(shù)據(jù)的權(quán)限;后者則指明了該Token Account所記錄的Token實(shí)際上是屬于誰(shuí)的,該字段本身是AccountInfo Data字段的一部分。
將上述的內(nèi)容串聯(lián)起來(lái),我們便能得到下面這張賬戶關(guān)系的示意圖。不管是System Program還是Token Program,它們?cè)趨^(qū)塊鏈上都部署在唯一的地址,以庫(kù)的形式存在;一個(gè)錢包賬戶可能同時(shí)持有多個(gè)Token Account,它是這些Token Account真正的“owner”;同一類Token Account的Mint字段指向了該種Token唯一的Mint Account,而該賬戶則記錄了Token的總供應(yīng)量等信息。
在Solscan查看Token賬戶變化情況
我們可以使用Solscan來(lái)查看一筆交易中Token賬戶的變化情況:
https://solscan.io/tx/byRn8qtNAYSdvgaGCK4kmZV1m89b7uuFuy1cn96W6femp7WgwymLqJ2MP9hPbegqN9EPe7NvghWpqDFqoCDjKph#tokenBalanceChange
Address一欄列出了該交易涉及到的所有Token Account;
Owner一欄則標(biāo)注了該Token真正的“擁有者”,也就是Token Account Data字段中的owner;
Token一欄則對(duì)應(yīng)了當(dāng)前Token的Mint Account,我們可以點(diǎn)進(jìn)第一行的$SON進(jìn)一步查看:
可以看到,Profile Summary中的Owner Program指明了當(dāng)前Mint Account的擁有者是Token Program,至此三類賬戶我們都在Solscan中進(jìn)行了對(duì)應(yīng)。
不過,Solscan這種展示方法可能會(huì)給人帶來(lái)一些誤解。比如,在上一張圖中第一行增加的Balance到底屬于地址CHS9WajyFfuaAZRk2JC7hRJvPHXmG5fC94gtAPbnLjuY,還是Raydium Authority V4?這種展示方式無(wú)疑增加了理解的成本。
除此之外,讀者也許還會(huì)發(fā)現(xiàn),Solscan中的Solana Token和其它Token在兩個(gè)板塊分開展示。盡管這種分割方式在技術(shù)上是合理的,但如果能在展示時(shí)將它們統(tǒng)一視作Token放置在相同板塊下則更加容易理解。
Phalcon Explorer不僅解決了上述問題,還針對(duì)Solscan做了很多其它創(chuàng)新,接下來(lái)讓我們?cè)偈褂肞halcon Explorer來(lái)看看同一筆交易。
? 建議打開鏈接,跟隨我們的步驟一起分析,這樣可以更好地了解交易細(xì)節(jié),感受 Phalcon Explorer 的強(qiáng)大功能 ?
https://app.blocksec.com/explorer/tx/solana/byRn8qtNAYSdvgaGCK4kmZV1m89b7uuFuy1cn96W6femp7WgwymLqJ2MP9hPbegqN9EPe7NvghWpqDFqoCDjKph
使用Phalcon Explorer查看和分析交易
在Phalcon Explorer的正上方可以看到,當(dāng)前交易被識(shí)別成了JITO的MEV交易,并且可以通過點(diǎn)擊交易簽名旁的Solana標(biāo)識(shí)來(lái)一鍵跳轉(zhuǎn)到Solscan。
關(guān)于這筆交易的信息被分成了四個(gè)板塊,分別是:Basic Info,F(xiàn)und Flow,Balance Changes和Invocation Flow,你可以通過點(diǎn)擊右上角的圖標(biāo)來(lái)切換到相應(yīng)的部分。
Basic Info
Basic Info一欄的信息相對(duì)簡(jiǎn)單,它提供了一些關(guān)于當(dāng)前交易的關(guān)鍵信息。和交易簽名類似,你也可以點(diǎn)擊區(qū)塊號(hào)和簽名者地址來(lái)跳轉(zhuǎn)到Solscan上。
Fund Flow
Fund Flow一欄為分析者提供了交易執(zhí)行時(shí)產(chǎn)生的資金流轉(zhuǎn)移和時(shí)序信息。我們可以看到:
交易的發(fā)起者兼簽名者59vLEsmV5VCCGTxjHCoRiXkNgHDVcq7dGx98v9HCn2F首先向被標(biāo)記為Raydium Authority V4的地址轉(zhuǎn)移了一定數(shù)量的某種Token;
接著Raydium Authority V4向簽名者59vLEsmV5VCCGTxjHCoRiXkNgHDVcq7dGx98v9HCn2F轉(zhuǎn)賬了約6.747的Wrapped SOL Token;
最后,簽名者還向Jito提供了0.000003的SOL Token作為Jito驗(yàn)證者執(zhí)行交易的小費(fèi)。
下圖為Solscan中的資金流向圖。相較于Solscan,每一個(gè)地址在Phalcon Explorer中的資金流向圖唯一對(duì)應(yīng)到一個(gè)節(jié)點(diǎn),故而能更容易發(fā)現(xiàn)地址之間的資金流向關(guān)系,提高分析時(shí)的效率。
如果你想要對(duì)交易的資金流向進(jìn)行更深入的分析還可以點(diǎn)擊右上角的棕色標(biāo)識(shí)進(jìn)入MetaSleush。
Balance Changes
Balance Changes一欄為我們清晰展示了不同賬戶在當(dāng)前交易結(jié)束后所有Token的變化情況。
比如,交易的簽名者59vLEsmV5VCCGTxjHCoRiXkNgHDVcq7dGx98v9HCn2F就有三種Token發(fā)生了變化,分別是原生的SOL Token、名為61Hh8Udg7zruvG3BhyNiHF4UmULnC8reB9RBFtwi8uKp的Token,以及Wrapped SOL Token。
在Balance Changes中出現(xiàn)的每一個(gè)Account Address都擁有一個(gè)或多個(gè)Token Account,通過點(diǎn)擊相應(yīng)的地址能夠?qū)ζ溥M(jìn)行拷貝或跳轉(zhuǎn)到solscan上。
我們可以看到,Phalcon Explorer并沒有對(duì)SOL Token和其它Token作區(qū)分,故而能直接反映出某一賬戶所有Token的變化情況,并且能更加直觀地展示Token Account和其Owner之間的關(guān)系。
Invocation Flow
Invocation Flow記錄了交易的指令執(zhí)行流程,其中的每一行都對(duì)應(yīng)了Solana交易執(zhí)行時(shí)的一條指令。
在這里,我們重點(diǎn)關(guān)注2和4這兩條涉及到Token轉(zhuǎn)移的指令。
第二條指令調(diào)用了Raydium的AMM的swapBaseIn來(lái)賣掉Token。展開該指令可以看到它由兩條CPI(Cross Program Invocation)指令組成,這兩條指令的作用是在Raydium Authority V4和交易簽名者之間進(jìn)行Token轉(zhuǎn)移;第四條指令則是簽名者向Jito支付小費(fèi)的過程。
如下圖所示,通過點(diǎn)擊指令后的Accounts標(biāo)簽,我們可以查看指令涉及到的所有賬戶。相較于Solscan,這種展示方式會(huì)更加簡(jiǎn)潔,讓分析者將注意力放在交易中更關(guān)鍵的信息上。
結(jié)論
在本文中我們首先介紹了Solana中Token的實(shí)現(xiàn)原理,隨后使用Solscan查看了一筆交易中Token Account的變化情況。最后,我們使用Phalcon Explorer對(duì)該交易作了進(jìn)一步分析,并介紹了Phalcon Explorer功能上的創(chuàng)新和優(yōu)化細(xì)節(jié)。
以上就是腳本之家小編給大家分享的Solana交易原理了,希望大家喜歡!
你可能感興趣的文章
-
Solana鏈Meme幣發(fā)行平臺(tái)Pump.fun收入暴跌30%!影響SOL價(jià)格?
本輪牛市靠著「一鍵發(fā)幣功能」爆火的代幣發(fā)射平臺(tái)Pump.fun,上周的平均每日手續(xù)費(fèi)收入較上上周暴跌30%,連帶影響了Solana生態(tài)的活躍度, 更多詳細(xì)資訊請(qǐng)看下面正文…
2024-06-27 -
Access Protocol、Jupiter等參與!Solana Labs合作Dialect推出Actions&
Solana Labs與Dialect攜手推出Solana Actions和Blinks,并有Access Protocol、Jupiter、Backpack、Tensor、Sphere Labs及其他Solana新創(chuàng)參與其中,作為首發(fā)合作伙伴, 更多…
2024-06-26 -
為什么Solana(SOL)價(jià)格今天突然上漲?詳解SOL價(jià)格上漲原因
SOL目前有望在 6 月底前反彈至 50 日 EMA(紅色波浪)150 美元左右,如果果斷突破 150 美元,可能會(huì)將價(jià)格推向 200 美元,接近 Solana 的今年迄今高點(diǎn),然而,空頭將嘗試突破…
2024-06-26 -
Solana推出Layer2網(wǎng)絡(luò)!Sonic測(cè)試網(wǎng)將對(duì)生態(tài)造成什么影響?
過去建造Solana Web3游戲基礎(chǔ)設(shè)施的MirrorWorld團(tuán)隊(duì),于本周宣布推出Solana Layer2—Sonic測(cè)試網(wǎng),Sonic是什么樣的項(xiàng)目?主打單體鏈架構(gòu)的Solana為何也開始推出Rollups?又…
2024-06-23 -
3iQ申請(qǐng)?jiān)诩幽么蠖鄠惗嘧C交所上市北美首檔Solana ETP!代碼QSOL
投資基金管理公司3iQ周四宣布,已在加拿大遞交上市申請(qǐng),尋求推出北美首檔Solana交易所交易產(chǎn)品(ETP), 更多詳細(xì)資訊請(qǐng)看下面正文…
2024-06-21 -
Meme幣降溫沖擊Solana? Andrew Kang預(yù)測(cè):SOL或跌至80美元
風(fēng)投機(jī)構(gòu)Mechanism共同創(chuàng)辦人Andrew Kang發(fā)文分析BTC、ETH的未來(lái)走勢(shì),此外盡管他在年初就看好SOL以及特朗普、狗狗、青蛙等Meme幣項(xiàng)目,但他預(yù)測(cè)若Meme幣熱潮衰退,SOL的價(jià)…
2024-06-20 -
傳特朗普在Solana鏈上正式發(fā)幣DJT!TRUMP系列Meme幣聞?dòng)嵄┑?/h3>
前美國(guó)總統(tǒng)特朗普近期頻頻公開力挺加密貨幣,令特朗普系列Meme幣暴漲,不過在有關(guān)特朗普已在Solana上正式發(fā)行官方代幣的網(wǎng)絡(luò)傳言出現(xiàn)之后,盡管幣圈普遍持懷疑態(tài)度,但TRUM…
2024-06-18 -
SOL交易量爆發(fā)150%,Solana價(jià)格能否突破200美元
盡管市場(chǎng)狀況如此糟糕,Solana的24小時(shí)交易量仍飆升153%,表明投資者興趣增加,并且價(jià)格可能很快上漲,因?yàn)榫W(wǎng)絡(luò)上的活躍地址數(shù)量在 5 月份創(chuàng)下了 4165 萬(wàn)的歷史新高,根據(jù)The…
2024-06-18 -
Arthur Hayes:Aptos將超越Solana!成市值第二大L1區(qū)塊鏈
BitMEX創(chuàng)辦人Arthur Hayes最近分享了他對(duì)加密貨幣市場(chǎng)未來(lái)的看法,除了看好狗狗幣現(xiàn)貨ETF可望在本市場(chǎng)周期推出,他還預(yù)測(cè),Aptos將在1至3年內(nèi)超越Solana,成為市值第二大L1…
2025-04-18 -
Solana模因幣BEER上架Bybit暴跌84%!分析師:團(tuán)隊(duì)高點(diǎn)拋售割韭菜
Solana鏈上模因幣$BEER在5月底時(shí)上線Bybit,并且在6月10日達(dá)到最高點(diǎn),然而僅過去三天,BEER的價(jià)格卻暴跌84%,鏈上分析師Wazz表示,BEER團(tuán)隊(duì)控制超過50%的總供應(yīng)量,并且持…
2024-06-15