以太坊应用开发环境主要包括了钱包的安装,本地网络的搭建,智能合约开发工具的介绍及使用,dapp开发库的介绍及使用。
1、metamask钱包安装
官网下载地址:Download | MetaMask,可以直接通过浏览器安装metamask插件
安装后浏览器上面就能直接使用metamask钱包
如果连不了网的可以通过github下载metamask钱包插件,通过浏览器加载插件的方式安装:GitHub - MetaMask/metamask-extension: The MetaMask browser extension enables browsing Ethereum blockchain enabled websites
2、本地模拟网络ganache安装
Ganache是一个以太坊模拟器,它使开发以太坊应用程序更快、更容易、更安全。 它包括所有流行的 RPC 功能和特性(如事件),并且可以确定性地运行以使开发变得轻而易举。
ganache提供两种方式安装:命令行方式、GUI方式
命令行方式安装:
npm install -g ganache-cli
启动:
ganache-cli
GUI方式安装:
官网下载ganache,直接安装即可
3、智能合约开发工具
remix
在线编辑器:Remix - Ethereum IDE
remix适用于小的合约开发,常用语测试语法等
合约编写区域:
编译区域:
合约部署区域:
hardhat脚手架
官网入口:Overview | Hardhat | Ethereum development environment for professionals by Nomic Foundation
安装步骤:
1、安装nodejs
官网下载安装nodejs:Node.js
2、安装hardhat
创建一个空的文件夹,比如hardhat-demo,进入到hardhat-demo,执行
npm init npm install --save-dev hardhat #安装hardhat npm install --save-dev @nomiclabs/hardhat-waffle ethereum-waffle chai @nomiclabs/hardhat-ethers ethers
3、创建工程
npx hardhat
目录介绍:
artifacts:编译后的信息,包括合约的JSON文件等
contracts:存放合约代码
scripts:存放部署脚本
test:存放测试脚本
4、测试hardhat环境
npx hardhat accounts
5、编译合约
npx hardhat compile
6、测试合约
npx hardhat test
7、使用hardhat启动一个本地网络:
8、部署合约
npm hardhat run scripts/sample-srcript.js --network localhost
truffle脚手架
官网入口:Truffle | Overview - Truffle Suite
truffle不做介绍,本文主要以hardhat脚手架讲解。
4、Dapp前端开发库
介绍两种常用的与合约交互的js库
web3.js:web3.js 库是由以太坊基金会构建的开源 JavaScript 库(GNU Lesser General Public License 第 3 版),包括通过 JavaScript 对象表示法 - Remote Procedure Call (JSON-RPC) 协议与以太坊节点进行通信的函数。也就是说,它是一个支持开发者与以太坊区块链进行交互的 JavaScript 库,官方文档:web3.js - Ethereum JavaScript API — web3.js 1.0.0 documentation,中文文档:ethers.js 翻译及说明 — ethers.js 中文文档 — 深入浅出区块链
ether.js:ethers.js库旨在为以太坊区块链及其生态系统提供一个小而完整的 JavaScript API 库,ethers.js 对比使用 web3.js 代码量更少,接口也更简洁,推荐优先使用 ethers.js ,官方文档:Documentation,中文文档:ethers.js 翻译及说明 — ethers.js 中文文档 — 深入浅出区块链
两个库的比较可以参考:以太坊 JavaScript 库:web3.js 与 ethers.js 比较(第一部分) | 登链社区 | 深入浅出区块链技术