复制成功

分享至

主页 > 数字货币 >

Solana 科普:认识账户、Token、交易与资产安全

2024.01.08

作者:enze,慢雾科技

Solana 是一种快速且高度可扩展的区块链协议,为去中心化应用(DApps) 提供了强大的基础设施。近期 Solana 生态复苏引发广泛关注,本文将介绍 Solana 账户、Token、交易,以及如何在这个生态中保障资产安全。

Solana 账户

了解账户是保障资产安全的第一步。与以太坊中的账户不同,在 Solana 中,账户的主要作用是存储数据。

Solana 中的账户主要分为三种类型:

  • 数据账户:用于存储数据。

  • 程序账户:用于存储可执行程序。

  • 原生账户:指 Solana 上的原生程序,例如 System、Stake 以及 Vote。

  • 其中,数据账户可进一步分为两类:

  • 系统所有账户:由 Solana 上的原生程序生成的账户。

  • 程序派生账户(PDA):签名权限是程序的帐户,因此不像其他帐户那样受私钥控制。

  • 每个账户都有一个地址(一般情况下是一个公钥)以及一个所有者(程序账户的地址)。前者与以太坊上的类似,后者可以简单理解为创建该账户的程序。

    普通用户通过钱包生成的账户属于数据账户中的系统所有账户,默认的账户所有者是系统程序。我们可以简单理解为:用户通过系统程序生成了一个系统所有账户,这个账户存储了用户的基本信息和资产等数据,而这个账户拥有一个地址(也就是公钥)。

    以 Solana Explorer 为例,普通用户使用的账户,即系统所有账户,在浏览器上的展示如下图:

    Solana 科普:认识账户、Token、交易与资产安全

    Assigned Program Id 代表账户的所有者,Allocated Data Size 表示账户已存储的数据大小,Executable 表示账户是否可执行,通常只有程序账户是可执行的。普通用户只需关注账户的地址。

    通过以上内容,我们已经对 Solana 账户有了初步的了解,接下来我们来认识下 Solana Token。

    Solana Token

    SPL-Token 代表 Solana 网络上的所有非本地代币,包括同质代币和非同质代币(NFT)。

    Solana 科普:认识账户、Token、交易与资产安全

    与 ERC20 和 ERC721 代币类似,SPL 代币 在 Solana 上发行和交易,而其与以太坊的区别是:

    在 Solana 中,Token 的发行人通过 Solana 上的原生程序 token-program 创建一个 mint-account,并在这个账户中存储 Token 的基本信息。例如,Solana Explorer 上的 USDC 的 mint-account 地址为 EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v。浏览器中显示了有关 USDC Token Mint 的详细信息,包括当前代币供应量、铸币和冻结权限的地址以及代币的小数精度。

    Solana 科普:认识账户、Token、交易与资产安全

    接下来,让我们了解一下什么是 token-account。

    在 Solana 上,每个 Token 持有者都有一个特定的 token-account,记录了该持有者特定 Token 的余额和相关信息。例如,Alice 同时拥有 USDT 和 USDC 两种 Token,她将分别拥有两个 token-account,其中一个记录 USDT 的余额,另一个记录 USDC 的余额。

    那么如何查看自己的 token-account 呢?

    我们可以使用 Solana Beach 浏览器,通过输入数据账户的地址,点击 Portfolio,就可以清晰地看到每个 token-account,每个账户记录着特定 Token 的余额。

    Solana 科普:认识账户、Token、交易与资产安全

    通过 Solana Beach 浏览器,还能查看每个账户记录的 Token 信息,授权情况等详细信息。

    Solana 科普:认识账户、Token、交易与资产安全

    Solana 交易

    在 Solana 上,每笔交易都包含以下关键信息:

  • Instructions(指令):一个或多个指令,定义了交易中的操作,例如转账、程序交互、Token 转账等。

  • Blockhash(块哈希):包含了最新的块哈希值,用于确保交易在正确的块上执行。

  • Signatures(签名):一个或多个签名,表示交易的授权。每个签名对应着交易中的一个签名账户,确保只有授权的账户可以执行这笔交易。

  • Solana 上的一笔交易可以包含多个指令,这意味着可以在同一笔交易中执行多个不同的操作,例如用户可以将多笔转账指令打包到同一个交易中,这些指令将按顺序执行。如果交易中的任何一个指令失败,整个交易都将失败。

    Solana 的交易记录与以太坊略有不同,我们来看下如何有效阅读 Solana 上的交易记录。

    SOL 转账交易

    对于 Solana 上的交易记录,我们以 SOLSCAN 浏览器为例,关注以下主要信息:

  • Signature(签名):类似于交易哈希,在交易记录中将交易的第一个签名作为交易的索引。

  • Result(结果):交易的执行结果,表明交易是否成功。

  • Signer(签名者):执行交易的账户地址,即签名者的地址。

  • Main Actions(主要操作):交易中包含的主要操作指令,可以是转账,程序调用等。

  • Instruction Details(指令详情):交易中执行的具体操作指令。

  • 我们在 Main Actions 中可以看到转账双方的账户地址。

    Solana 科普:认识账户、Token、交易与资产安全

    免责声明:数字资产交易涉及重大风险,本资料不应作为投资决策依据,亦不应被解释为从事投资交易的建议。请确保充分了解所涉及的风险并谨慎投资。OKEx学院仅提供信息参考,不构成任何投资建议,用户一切投资行为与本站无关。

    加⼊OKEx全球社群

    和全球数字资产投资者交流讨论

    扫码加入OKEx社群

    相关推荐

    industry-frontier