# Solana的与众不同

By [想住大房子的java程序员](https://paragraph.com/@java-3) · 2024-01-12

---

转自推特gm365老哥

对于一个长期浸淫在 EVM （以太坊、L2、BSC、Avax等）世界的人，刚切换到 Solana 生态时，除了要换一个浏览器插件钱包、交易更便宜外，可能你会觉得两条公链差别也不是很大

但一番深入研究下来，发现二者从底层设计理念，到各个层面，几乎天差地别

这里将我前期学习了解的一些特性加以总结，帮你更快速入门 Solana ，少走一些弯路

普通用户
----

对普通用户而言， Solana 的实际差别不会特别大，具体表现可能在下面几个方面：

1、浏览器插件钱包

MetaMask 不直接支持 Solana, 你得换用 Phantom 之类，问题不大

但是，通过 MetaMask Snap 特性，安装 solflare 插件，就可以继续使用 MetaMask 了

2、交易费用极低

相对于以太坊主网动辄几刀、十几刀的 gas 费，L2 (Arbitrum, OP, zkSync Era等)上大约 $0.2 左右的 gas，即便 BNB Chain 也要 $0.1，但 Solana 上一笔交易甚至不足 $0.01，着实令人印象深刻

3、交易“偶尔”会失败

如果你用的次数较多，项目较广，会发现 Solana 交易有一定的失败概率，绝对比你使用 EVM 链多

4、交易速度“挺快”

相比以太坊的平均十几秒、几十秒，L2 的几秒， Solana 的交易确认速度算是比较快的了，实际感受大约在几秒，但并不太稳定

目前依然比不上 Arbitrum 的几乎秒确认

开发者
---

5、Solana 的开发语言

Solana 的智能合约（他们叫 Program) 使用 Rust 或者 C 开发，不用 Solidity

6、区块间隔

Solana 的区块（他们叫 Slot）间隔是 400ms(目标值），实际值大约在 400～500 ms 之间

7、TPS

Solana 区块浏览器看到的 TPS 在 3000 左右，令人印象深刻

![](https://storage.googleapis.com/papyrus_images/834a3ac21888794e33719a98f06bb1893770665fe3c3e245c9971f576ac1c9db.png)

然而，这里面有大量的交易只是 Vote 这样的“无效交易”，真实的用户交易占比约 25%，也就是 700+ TPS，依然吊打一众 EVM 兼容链

8、Nonce

Solana 没有 Nonce 的概念，这是 EVM 上才有的“落后特性”

按照官方文档，Nonce 的设置，利好负责区块打包的一方，但严重不利于普通用户（想想被一堆 Pending 交易支配、需要手工挨个加速的恐惧）

9、共识机制

Solana 给予 PoH 共识机制，根据时间戳决定区块顺序

10、交易过期

用户提交的每笔交易，都包含最新的区块哈希（时间戳），交易会在大约150个区块后（大约1分20秒左右）自动过期（被节点自动丢弃）

11、并行处理

Solana 对所有待打包的交易并行处理，效率极高，速度极快。

如果某两笔交易有冲突，则将冲突交易放入下一个区块处理

12、合并多笔交易

Solana 默认支持在一条 tx 中插入多笔交易，一次性提交和处理

进阶用户
----

13、合约开源

Solana 的合约（Program）默认都是“不开源”，你在 solscan 这类区块浏览器无法看到任何合约源代码相关信息

想要源码？除非官方主动公开在 GitHub 上

除此之外，根据项目方公布的源码重新编译，并不能得到和现有合约一模一样的“BPF字节码”（貌似和编译机制有关，编译时会有轻微随机变动）

但似乎关心这事的人并不太多，普通用户不关心，开发者似乎也集体噤声

14、合约与数据分离

Solana 的合约与数据是彻底分开存放的，这样保证了合约的执行是无状态的，从而实现并行处理

15、租金

你每买入一个代币/NFT，都需要在你的钱包 Wallet 开设一个单独的新账户 account，并支付一定的租金

你也可以关闭账户并拿回租金，目前价值约 $0.2

也就是说，如果买入100种不同的代币，租金你就得付 $20

16、一键发币

Solana 号称对开发者极其友好，文档齐全

体现在哪儿呢？

安装好官方的 SPL-Token 命令行工具，只需要下面一行命令，就可以自动部署一个代币（NFT同理）

spl-token create-token

17、代币名字？

你发的代币想要有名字和介绍？

这需要一个第三方工具 metaplex 支持

P.S. 由于这个特性，默认情况下，你是可以修改一个代币的名称、符号和介绍内容的，除非你主动放弃这个权限

18、“阉割版”区块浏览器

由于无法在区块浏览器验证合约源代码，你无法通过区块浏览器做下面这两件事：

a、读取合约代码 b、读取合约函数的值 c、写入（调用）合约

19、SPL-20 添加流动性

想要在最大的 DEX Raydium 上给你的 SPL-20 代币添加流动性，你需要：

a、在他们网站提交申请 b、支付费用，大约 3-4 SOL ，这可是 $300~ $400 c、等待被批准 d、添加流动性，等待开启交易（大约 5-10分钟）

这和 UniSwap 所谓的“无需许可”（自然也无需额外付费）的添加流动性池方法，天差地别

据 DeFiLlama 数据，过去7天 Raydium 收益 $8700万（我猜应该还没包括这笔上币费）

整体感触
----

作为一个长期使用 EVM 兼容链的人来说，发现 Solana 这些稀奇古怪的特性，有震惊，有不解，有赞叹

如果说以太坊自身的成功导致其“积重难返”，几乎不可能对底层机制做颠覆性调整，从而导致其可能长期无法解决 TPS 和交易费用过高的问题

那么，在以太坊 EVM 基础上发展而来的几乎所有 EVM兼容链、L2，恐怕在出生那刻就带着先天不足，是戴着镣铐跳舞

L3 套娃 L2 套娃 L1 的模式，真能彻底解决这个问题？我个人目前持存疑态度

Solana 由于彻底抛弃 EVM 这个历史包袱，从头设计的颠覆性创新，给了普通用户更快、更便宜、更好的 L1 公链体验

未来用户会作何选择？拭目以待

以上就是对近期学习 Solana 的一些知识点汇总，希望对你有所帮助 ❤️

20、Solana 交易前不需要授权 由于设计理念的差别，在 Solana 上进行交易（比如 DEX Swap, Deposit 等），不需要像 EVM 上那样，先授权再交易 也鉴于此，Solana 上（似乎）不存在因为合约授权导致的资产被盗 但是，Solana 由于一笔 tx 可以一次性提交多笔交易，导致如果遇到钓鱼手法，可以在一条 tx 内，盗取你钱包内所有资产，包括原生资产 SOL。所以务必小心，钱包提交签名前，看清具体签名内容

21、Solana 的“开户费” Solana 程序和数据分离的特性，逻辑和 EVM 完全不同。由此导致你需要经常性支付一笔小额“开户费”， SPL-20 的代币，开户费大约 0.002 SOL, NFT 贵一些，大约 0.005 SOL 也由此，如果你要给别人账户发送一个土狗币/NFT，假如对方账户未曾开立此账户（每个不同的币，都需要开设一个单独账户），那么在你发送土狗币时，也要由你支付这笔开户费 而对方可以选择 close account 拿回这笔开户费（其实是租金） 所以，想要给1万个账户发送土狗币，再关闭账户“赚租金”这种套利的好事，是不存在的

a: @StepFinance\_ 收费 5%，有点类似Solana 生态的 DeBank

b: @solincinerator 收费 0.00004～0.00335 SOL 之间（具体请看对方网站 FAQ 部分，不同类型账户收费不同）

c: 使用官方 CLI 工具，免费 Burn Tokens & Close Accounts

注意：Solana 原生支持 Burn 燃烧代币，以及 关闭不需要的账户退租金

此操作不可逆，务必小心操作

---

*Originally published on [想住大房子的java程序员](https://paragraph.com/@java-3/solana)*
