21 个版本

0.3.2 2023 年 8 月 24 日
0.3.1 2023 年 6 月 30 日
0.3.0 2023 年 5 月 22 日
0.2.2 2023 年 2 月 20 日
0.1.0 2019 年 6 月 15 日

558魔法豆

每月 22 次下载

Apache-2.0

3.5MB
87K SLoC

Solang Logo

solang - Solana 和 Polkadot Parachains 的 Solidity 编译器

Discord CI Documentation Status license LoC

欢迎来到 Solang,这是一个用 Rust 编写的 Solidity 编译器,使用 llvm 作为编译后端。Solang 可以使用 contracts 簧片将 Solidity 编译为 Solana 和 Polkadot Parachains。由于底层区块链的差异,Solang 与 Solidity 0.8 兼容,但存在一些限制。

Solang 正在积极开发中,拥有 广泛的文档

Solana

请遵循 Solang 入门指南

Solang 是 Solana 工具套件的一部分(版本 v1.16.3 及更高版本)。无需单独安装。

安装

Solang 作为 Brew cask 可用于 MacOS,以下命令

brew install hyperledger/solang/solang

对于其他操作系统,请参阅 安装指南

为 Polkadot 构建

运行以下命令,选择 Solang 仓库上可用的 flipper 示例

solang compile --target polkadot examples/polkadot/flipper.sol

或者,如果您想使用 solang 容器,运行

docker run --rm -it -v $(pwd):/sources ghcr.io/hyperledger/solang compile -v -o /sources --target polkadot /sources/flipper.sol

您将有一个名为 flipper.contract 的文件。您可以直接在 Contracts UI 中使用此文件,就像您的智能合约是用 ink! 编写的一样。

路线图草案

Solang 与许多区块链具有高度兼容性。我们正在努力确保编译器能够跟上最新的 Solidity 语法和功能。此外,我们专注于引入新的性能优化并改善开发者体验。以下是我们对下一个版本愿景的简要描述。

V0.4

功能 状态
优化遍历管理改进 未开始
采用单静态分配进行代码生成 进行中
在Polkadot目标上支持openzeppelin 进行中
提供Solidity -> Polkadot移植指南 未开始
在Solana上声明Solidity函数的账户 进行中
ink! <> solidity之间的调用工具 进行中
提供节点交互的CLI 进行中

许可证

Apache 2.0

依赖关系

~24–39MB
~660K SLoC