Solidity开发工具,用于创建以太坊智能合约
项目描述
solidbyte
用于创建以太坊智能合约的开发工具。
好奇Solidbyte项目看起来像什么?查看solidbyte-test-project存储库。
Solidbyte的独特之处在哪里?
- 本地账户 - Solidbyte可以使用存储在
~/.ethereum/keystore
的Ethereum密钥存储文件中的本地账户。您不需要信任您使用的节点来处理您的私钥,也不需要使用personal.unlock
来冒打开账户的风险。 - Python! - 部署脚本和测试是用Python编写的。
- EthPM支持 - 好吧,它正在进行中,但目前还不能使用,但...它可能在某个时刻可用。
- Vyper和Solidity支持 - 使用这两种语言编写的合约可以在您的项目中并行存在。
- 交互式Python控制台 - Solidbyte提供了一个具有实例化的Web3对象和您的部署合约实例的控制台。我提过Python了吗?
- 项目模板 - 您可以使用单个命令初始化项目模板,该模板包括示例部署脚本、测试和合约。目前只有'bare'和'er20'模板可用,但我希望添加更多。
- 使用pytest进行合约测试 - 使用一些提供的固定装置,pytest用于合约测试。有关Python的更多信息。
- eth_tester 支持测试 - 它非常快,非常适合初步测试。
注意:Solidbyte 仅在 Linux 上进行了测试。如果您使用其他操作系统,请考虑进行测试并 提交问题。
未来有什么计划?
请参阅 路线图。
演示
以下是一个简短的演示(截至 2019-03-25),创建一个名为 MyToken 的新 ERC20 代币
内容
快速入门
1) 安装 Solidbyte
Solidbyte 需要安装一些系统级库。在继续之前,请确保已安装 openssl/libssl 和 libffi 头文件。更多信息,请参阅更详细的 安装文档。
首先,安装 solidbyte。最简单的方法是从 PyPi 使用 pip
安装。
pip install solidbyte
2) 设置您的项目
为了使您的项目开始运行,创建一个项目目录并切换到该目录。大多数 sb
命令需要在项目目录的根目录下运行。
mkdir myproject && cd myproject
sb init
现在,您应该已经创建了一个裸项目结构。您也可以使用 可用的模板 进行初始化,但在此文档的目的上,我们只是创建了一个裸结构。
您的合约应该位于 contracts
目录中。您的 Solidity 或 Vyper 合约可以位于其下的任何目录。
deploy
目录将包含您的 部署脚本。
并且 tests
将包含您的 合约单元测试。
build
目录可能还不存在。solidbyte 在必要时将创建它。
您还可以在 scripts
目录中创建由 Solidbyte 运行的脚本。它们必须根据 文档 实现。