如何选择以太坊客户端

有许多不同的以太坊客户端可供选择, 依照不同的使用环境来选择不同的客户端.

 开发过程中

 Ganache(巧克力酱)

强烈推荐使用 Ganache(巧克力酱), 一个私人以太坊区块链界面化开发环境. 作为 Truffle 套件的一部分, Ganache通过前端展示合约和交易, 使得 dapp 开发开发更简单. 使用Ganache你可以快速查看程序是如何与区块链交互的, 并且直观的展示账号, 余额, 合约的创建, gas的消耗等信息. 你也可以轻松控制Ganache的挖矿机制, 使之更契合你的程序. Ganache 支持 Windows, Mac 和 Linux, 在此 下载.

Ganache 运行之后, 监听地址为: http://127.0.0.1:7545. 默认生成10个账户, 顶端展示生成账户使用的 mnemonic (12个随机单词). 了解账号 mnemonics 详情.

默认情况下, Ganache 将会使用下面的 mnemonic:

candy maple cake sugar pudding cream honey rich smooth crumble sweet treat

这个 mnemonic 可以设置成随机生成方式, 或者手动设置.

注意: 不要在正式环境(Eth主网络)使用这个 mnemonic. 如果哪个账号使用了这个mnemonic, 账号的资产将全部丢失!

 Truffle Develop 命令行工具

我们也推荐使用 Truffle Develop 命令行工具, Truffle 内置的区块链开发环境. Truffle Develop 工具通过一个简单的命令行即可设置集成好的区块链环境, 无需任何安装. 在控制台执行下列命令即可开启:

truffle develop

运行之后, 监听地址为: http://127.0.0.1:9545. 默认生成10个账户, 顶端展示生成账户使用的 mnemonic (12个随机单词). 了解账号 mnemonics 详情. Truffle Develop 每次启动将使用相同的 mnemonic 使得开发更简单:

candy maple cake sugar pudding cream honey rich smooth crumble sweet treat

注意: 不要在正式环境(Eth主网络)使用这个 mnemonic. 如果哪个账号使用了这个mnemonic, 账号的资产将全部丢失!

启动后, Truffle Develop 将会启动一个交互式控制台, 用来运行Truffle命令. 这些命令不再需要以 truffle 开始, 例如编译智能合约的时候, 直接使用 compile 而不再需要 truffle compile.

阅读更多内容关于 Truffle 交互式命令行 部分.

 Ganache CLI 命令行

Ganache 也支持命令行运行, 以便在无界面条件使用. 在自动化测试, 持续构建环境下使用非常方便. Ganache CLI 可以无需配置情况下满足所有的开发需求. Ganache CLI 执行交易的模式为立即执行, 而无需等待一定的挖矿时间, 这使得代码测试更加快速. 同时在智能合约运行出错的时候马上可以获知错误信息, 相比其他客户端, 与 Truffle 集成后可以节省近90%的测试运行时间. 了解更多关于 Ganache CLI 的内容.

 部署到正式公开网络环境

很多官方和非官方的客户端可供选择, 简单列举几个:

这是项目都包含了挖矿, 网络, 区块和交易处理的完整实现. 在使用 Ganache/TruffleDevelop 充分测试过dapp之后, 才可以使用以上的工具进行对应网络的部署.

 部署到私有网络

私有网络模块与公开网络利用相同的技术, 只是使用不同的配置而已. 所以可以使用上面任意一个客户端开启一个私有网络, 并且使用相同的方式部署智能合约.