Solidity开发环境介绍
下面我会粗略的引入介绍一下 Solidity 智能合约相关开发环境跟工具,这些都是目前智能合约开发中常用的工具集合。
IDE
开发基于Solidity的智能合约,可以使用以下开发环境
VSCode + Solidity Plugin
Remix Solidity IDE
Truffle
Truffle 是针对基于以太坊的 Solidity 语言的一套开发框架。本身基于 Javascript。
内置的智能合约编译,链接,部署和二进制文件的管理。
快速开发下的自动合约测试。
脚本化的,可扩展的部署与发布框架。
部署到不管多少的公网或私网的网络环境管理功能
使用 EthPM&NPM 提供的包管理,使用 ERC190 标准。
与合约直接通信的直接交互控制台(写完合约就可以命令行里验证了)。
可配的构建流程,支持紧密集成。
在 Truffle 环境里支持执行外部的脚本。
安装 Truffle
npm install -g truffle
mkdir myproject && cd myproject && truffle init
Ganache 是一个带有图形界面的本地运行的以太坊区块链浏览器/模拟器,它在本地运行了一个 RPC Server,通过连接这个 Ganache,我们可以完成智能合约的本地测试,而不需要真正的接入以太坊的公网或测试网络。
通过使用 Ganache,你可以快速的看到你的应用是如何影响区块链的。其中细节:如你的账户、余额、合约及 Gas 成本。
Geth
geth 的全称是 go-ethereum,是以太坊的官方钱包客户端。Geth 是基于命令行的。
通过使用 Geth 和相关参数,我们可以接入以太坊的公网,测试网以及私有网络。
以太坊除了主网络,还有各种各样的测试网络。使用 geth 前要先解决要进入哪一个网络。
Geth 相当于在本机启动一个以太坊网络节点,但是通过参数控制,可以让节点选择成为全节点或者轻节点。