1、go-ethereum: 官方提供的Ethereum协议的GO语言版本,简称Geth。我们所有的开发围绕的核心就是它了,他实现了以太坊的所有功能。我们可以用它同步主网或测试网数据,还可以搭建属于自己的私有区块链网络。
2、geth command line: geth命令行工具,它提供了所有对以太坊的操作,例如账户管理,网络设置,开发模式,数据查询,交易发起等,具体的命令可以参考:https://github.com/ethereum/go-ethereum/wiki/Command-Line-Options
3、Truffle: Truffle Suite的产品之一,号称以太坊开发者的瑞士军刀,它为开发人员提供了开发环境搭建,智能合约代码管理,合约测试,编译部署等开发所需要一切。
4、VS Code: Visual Studio Code,一款免费而强大的源代码编辑器,支持安装Solidity语法高亮的插件。
5、MetaMask钱包(新手三件套之一)
6、remix(新手三件套之一)
7、区块链浏览器 Etherscan:https://etherscan.io
8、Truffle(初学者先不学)
9、Infura (强大的API节点网站)(备用)
9、必读
Uniswap 源码: https://github.com/Uniswap
10、前端代替网站(省去写前端步骤用现成的测试):
1、Solidity: 以太坊智能合约开发语言。
2、掌握web3.js 和 ether.js 库
web3.js https://web3.js.readthedocs.is 通常使用前端调用web3.js库来完成钱包操作,调用智能合约与区块链进行交互。扫链、监听链上事件、预言机等等都需要用到。必须熟练掌握
ethers.js https://github.com/ethers-io/ethers.js ethers.js 库是一个非官方提供的一个jacascrip库 跟wen3.js 库的使用方法及功能基本相同。ethers.js 库的优势在于紧凑小巧,同事包含了大量测试案例,适合新手使用。是前端及链段开发人员必须掌握的库。
3、DApp 浏览器
网址: https://www.stateofthedapps.com 产品经理开阔思路、借鉴产品设计的,运营人员获取运营数据的重要来源 开发人员也可以通过这个网站了解当前开发的现状和最新产品以及技术方向 其还提供了dapp的动态排名。
4、OpenZeppelin
网址:https://www.github.com/OpenZeppelin 开发安全、高效的技能合约基础库,开箱即用,无需重复造轮子!
5、预言机 Oracle
打通链上和链下使两个世界融合,为智能合约提供实时的喂价服务 还提供随机数服务。
chainlink
https://www.github.com/smartcontractkit/chainlink 链端人员必须熟练使用掌握。
配置工具:
1、第一步:安装go-ethereum(初学建议直接安装Ganache(新手三套件之一))
https://truffleframework.com/ganache
2、第二步:安装VS Code
下载地址:https://code.visualstudio.com/
安装完成Visual Studio Code之后,点击左侧扩展菜单,搜索solidity安装语法高亮插件。
安装live server插件(将本地html预览转化为网页用的)
3、第三步:安装Truffle(Dapp开发前端、链端或全栈开发人员必备工具之一)
安装Truffle之前先确保你已经成功安装Node.js:https://nodejs.org/en/
接下来通过npm安装Truffle:
npm install -g truffle
通过以下命令创建目录并初始化一个新的Truffle项目。这里我们先直接使用官方的MetaCoin项目来进行初次的体验。
mkdir MetaCoin //创建项目目录
cd MetaCoin //进入目录
truffle unbox metacoin //初始化Truffle metacoin项目
用VSCode打开该目录的项目。
contracts目录:用于存放solidity编写的合约源码
migrations目录:存放部署的脚本文件
test目录:存放测试脚本文件
truffle.js:truffle配置文件
1、第一次尝试使用浏览器检索唤醒MetaMask钱包
方法:在Console键入下列命令。
window.ethereum.request({method:"eth_requestAccounts"})
注:非网页的空白页面或本地页面不可唤醒。
2、使用VSCode
创建一个dapp.heml文件夹保存到自建目录
