Solidity在Solana上 — 什么是Solang?

  • Helius
  • 发布于 2023-06-23 11:22
  • 阅读 13

Solang 是一个为 Solana 设计的 Solidity 编译器,旨在帮助以太坊开发者更容易地迁移到 Solana 平台。它允许使用 Solidity 语言开发智能合约,从而降低学习曲线,减少开发时间。文章详细介绍了编译器的工作原理、Solang 的优势、对 Solana 程序的影响以及如何入手使用 Solang。

概述

Solang,Solana的Solidity编译器,本周正式发布。这使得以太坊Solidity开发者能够迁移到Solana,并减少了入门所需的学习曲线和时间承诺。之前,开发者只能使用Rust、C或Python。

发布Solang编译器的主要目的是吸引那些由于需要学习Rust或其他语言以创建程序而通常会犹豫在Solana上开发的经验丰富的开发者。

在本文中,我们将讨论以下内容:

  • 什么是编译器?
  • 优势
  • 对Solana程序的影响
  • 入门指导

什么是编译器?

编译器是一种工具,用于将高级源代码转换为可以由目标平台执行的低级表示。对于Solidity,Solang编译器被用来将Solidity代码转换为与Solana区块链兼容的格式。它执行多个阶段,将代码转换为优化后的机器代码或字节码,以便在Solana上执行。这确保了Solidity开发者能够轻松高效地在Solana上编写和部署智能合约。

在Solana中,创建程序的常用编程语言是Rust。以下是一个图表,详细说明了如何将Rust和Solidity编译为Solana区块链的程序指令:

Rust和Solidity编译器角色的基本视觉图

优势

如上所述,发布Solang作为Solana上的Solidity编译器的主要目标是吸引那些可能因Rust或其他语言所需的学习曲线而犹豫在Solana上构建的经验丰富的开发者。这使得Solidity开发者能够将他们的技能和知识迁移到Solana,开启他们轻松构建去中心化应用的潜力。

对Solana程序的影响

Solang作为Solana的Solidity编译器的引入增强了开发过程,并鼓励经验丰富的Solidity开发者探索Solana区块链所提供的机会。

关于它对Solana程序的影响,Solang并未引入任何重大变化。编译过程涉及将高级Solidity源代码翻译为可以在Solana区块链上执行的低级表示。这允许使用不同语言的开发者编写他们的程序,并在Solana上进行通信。

在高层次上,Solang支持:

  • Solana库(SPL-Token和系统指令)
  • 内置导入

Solana库

Solana库在Solang的Github存储库中分为两个不同的库:

  1. SPL-Token
  2. 系统指令

1. SPL-Token

利用SPL支持,你可以使用Solang SPL-Token库创建、铸造、销毁和转移SPL代币。这为你提供了一套管理SPL代币的工具,便于你的Solang程序使用。

要在你的Solidity代码中使用它,你可以首先将spl_token.sol文件复制到你的源树中。

2. 系统指令

通过系统指令,开发者可以利用常规功能,例如创建账户、转账、分配账户数据和支付交易费用。

你可以使用与SPL库相同的方法,将system_instruction.sol文件复制到你的源树中,以开始在你的Solidity代码中使用。

内置导入

内置导入特定于Solana平台可用。

这些允许你利用Solana程序的特性,例如:

  1. AccountInfo
  2. AccountMeta
  3. 程序派生地址(PDAs)

1. AccountInfo

AccountInfo收集关于传入交易的所有账户的信息。你可以在这里了解更多信息。

2. AccountMeta

在进行跨程序调用(CPI)时,你可以使用Account Meta来指定应传入的账户。

3. PDAs

PDAs使得在程序之间调用时能够以编程方式创建和使用签名。

通过Solang,你可以创建和检索由合约创建的程序地址生成的PDA,这将增强你应用程序的安全性。

你可以在Solang中找到其他可用的内置功能, 点击这里

入门指导

你可以通过Solana文档在这里开始学习Solang。这将指导你构建一个Anchor程序,你可以使用Solang编译器创建你的第一个Solidity/Solana程序。

此指南将帮助你应对初期的学习曲线,了解以太坊的智能合约与Solana程序之间的差异,尤其是在处理状态数据时。这无疑是从以太坊转向Solana开发的最大障碍。

结论

总之,Solang为那些希望转换到Solana的以太坊Solidity开发者提供了重要的进步。作为Solana的Solidity编译器,Solang减少了与该平台开发相关的学习曲线,使经验丰富的Solidity开发者能够利用他们现有的技能和知识。这个编译器弥补了以前存在的差距,吸引了那些因为需要学习Rust或其他语言以创建Solana程序而犹豫的开发者。

  • 原文链接: helius.dev/blog/solidity...
  • 登链社区 AI 助手,为大家转译优秀英文文章,如有翻译不通的地方,还请包涵~
点赞 0
收藏 0
分享
本文参与登链社区写作激励计划 ,好文好收益,欢迎正在阅读的你也加入。

0 条评论

请先 登录 后评论
Helius
Helius
https://www.helius.dev/