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 次下载
3.5MB
87K SLoC
solang - Solana 和 Polkadot Parachains 的 Solidity 编译器
欢迎来到 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 | 进行中 |
许可证
依赖关系
~24–39MB
~660K SLoC