以太坊的开发包括智能合约的开发和去中心化应用(DApp
)开发,这个教程将介绍如何 根据不同的开发场景在本地windows或linux下安装、搭建并配置四种不同的以太坊开发环境: 轻量级开发环境、仿真器开发环境、私有链开发环境和公链开发环境。
轻量级开发环境
如果你只需要开发智能合约(例如开发一个ERC20代币)而不是完整的 去中心化应用(DApp
),那么使用remix + metamask的轻量级组合就够了。
remix是以太坊官方提供的solidity在线集成开发环境, 你不需要在本地安装任何软件,就可以开发、编译并测试智能合约了。
metamask是一个轻量级钱包,它是chrome浏览器的插件,remix搭配上metamask 以后,你就可以直接在浏览器里部署以太坊智能合约了。
进一步阅读:
DApp快速开发环境
如果要开发完整的去中心化应用,你就需要部署额外的开发工具了,这主要包括:
- Ganache:以太坊仿真器
- Truffle:以太坊DApp开发框架
- Node.js:后端应用开发平台
- Express:node.js的web开发库
这一组合可以让你在一台计算机上模拟以太坊环境,进行DApp的快速开发、部署与测试。 快速的意思是,由于使用了以太坊仿真器,你不需要挖矿、不需要等待交易完成,一切 就像传统的应用开发那么迅速。
进一步阅读:
DApp私有链开发环境
除了使用以太坊仿真器,你也可以部署一个私有链来开发以太坊应用,这里主要的变化 是采用标准的以太坊节点软件Geth来代替Ganache仿真器。
在私有链开发环境下,你提交到以太坊节点的每一笔交易,需要挖矿才能完成,这意味着 你在调试代码时可能需要额外的等待时间,这会拖慢开发的进度。因此,我们建议在可能 的情况下,首先使用仿真器先调通你的整个应用,再迁移到私有链环境下。
进一步阅读:
DApp公链开发环境
最终你的开发需要将智能合约部署到公链,例如主链或测试链。这有两种方案:
- 使用自己的geth全节点
- 使用公开的托管节点
如果使用自己的geth节点,就和私有链开发环境没有什么区别,你只需要让Geth启动连接 到公链而不是你搭建的私有链即可。
但更多的情况是,你并不需要使用自己的全节点,可以利用Infura提供的托管以太坊节点。 除非特别需要,我们推荐你首先考虑使用托管节点。
进一步阅读:
如果你希望马上开始学习以太坊DApp开发,可以访问我们的在线互动教程:
我的博客即将搬运同步至博客云+社区,邀请大家一同入驻:https://cloud.tencent.com/developer/support-plan