solidity环境安装
1能够打开remix
remix在线编辑器/编译器,这是编写solidity语言的编辑器
旧版
新版
2安装metamask
3安装geth
go语言实现的以太坊客户端,是目前最流行的以太坊客户端,我们后面会用它创建私有链
下载链接:https://ethfans.org/wikis/Ethereum-Geth-Mirror
执行如下命令,确保geth安装成功。
4安装node
安装node之后会自动安装npm命令,使用npm可以非常快捷的安装各种工具包
node下载链接:https://nodejs.org/zh-cn/,请下载长期支持版的node,如下图
安装之后,执行如下命令,确保安装成功
node --version
v10.11.0
请执行如下命令,安装一个可以挂载本地目录到remix编辑器的服务。
5. EthereumWallet钱包
这是官方出的以太坊钱包,可以用来体验以太坊操作,但是我们开发中不使用,会做简单介绍
下载后请连接ropsten网络,不要链接到主网,否则账本占用空间极大
国内下载链接:https://ethfans.org/wikis/Ethereum-Wallet-Mirror
6(nodejs)在goland中安装node模块
7安装create-react-app命令
这个命令能够下载react空项目,我们基于这个项目进行编写dapp
安装命令如下:
sudo npm install create-react-app -g
然后创建一个空的react项目:
create-react-app projectname
请先不要对MyProjectName内容做任何修改
下载成功提示如下:
补图
进入到projectname中,执行如下命令:
npm run start
如果能够正常启动,则安装成功。
8安装
- 进入到 projectname目录,目前应该已经在这个目录下:(cd projectname)
- 安装web3,这是与以太坊合约交互的js版本库
sudo npm install web3 --save - 安装solc,这是solidity的编译器
sudo npm install solc --save - 安装mocha,这是一个测试框架
sudo npm install mocha --save - 安装ganache-cli, 这是一个虚拟的测试环境
sudo npm install ganache-cli --save - 安装semantic-ui-react和semantic-ui-css,这两个是react库,可以快速搭建界面
sudo npm install semantic-ui-react --save
sudo npm install semantic-ui-css --save - 安装truffle-hdwallet-provider,用这个包来部署到Ropsten或者主网上,注意,安装0.0.3版本
sudo npm install [email protected] --save - 安装ipfs-api,这是ipfs的库,用来做存储的,我们在后期要使用
sudo npm install ipfs-api --save
3.将projectname文件夹复制三份
这个projectname目录已经安装了所有需要使用的包,这个原始的项目永远不要修改,复制几份出来,每次写新项目时直接使用副本操作。切记,否则,每次又要重新下载
9truffle框架阶段环境
-
安装truffle
sudo npm install truffle -g
-
truffle创建空工程
mkdir truffleInitFolder
cd truffleInitFolder
truffle init
退出到上一层cd …,这个工程和下面的工程是独立的,不要嵌套了。
- 创建内置工程项目
-
truffle集成react项目
mkdir truffleReact
cd truffleReact
truffle unbox react
安装成功之后,会有如下提示信息:
Downloading...
Unpacking...
Setting up...
Unbox successful. Sweet!
Commands:
Compile: truffle compile
Migrate: truffle migrate
Test contracts: truffle test
Test dapp: cd client && npm test
Run dev server: cd client && npm run start
Build for production: cd client && npm run build
整个空工程大约100M左右
注意:如果下载失败,删掉truffleReact文件夹下所有东西,重新执行truffle unbox react
退出到上一层cd …,这个工程和下面的工程是独立的,不要嵌套了。目录结构如下:
~/eth/truffleReact$ ls
client contracts LICENSE migrations test truffle-config.js truffle.js
进入到client目录(cd client)
执行如下命令,讲web3,solc,mocha,等全部重新安装一遍。
sudo npm install web3 --save
sudo npm install solc --save
sudo npm install mocha --save
sudo npm install ipfs-api --save
启动验证:
-
首先,进入到truffleReact目录下,执行如下命令:
truffle compile
编译成功后会在当前目录下生成build目录。
-
进入client目录,执行命令
npm run start
如果如下错误:
./node_modules/truffle-contract/lib/reformat.js
Module not found: Can't resolve 'bignumber.js' in '/home/itcast/eth/truffleReact/client/node_modules/truffle-contract/lib'
请执行如下命令解决:
sudo npm i bignumber.js
-
重新执行步骤2即可,显示如下效果,则表明成功(这是因为没有启动区块链环境)
Loading Web3, accounts, and contract…
-
truffle集成webpack项目
mkdir truffleWebpack
cd truffleWebpack
truffle unbox webpack
大约:200M左右
注意:如果下载失败,删掉truffleWebpack文件夹下所有东西,重新执行truffle unbox truffleWebpack
目录结构如下:
app contracts node_modules truffle.js
box-img-lg.png LICENSE package.json webpack.config.js
box-img-sm.png migrations test
安装相关包:
sudo npm install web3 --save
sudo npm install solc --save
sudo npm install mocha --save
sudo npm install ipfs-api --save
启动验证:
-
在truffleWebpack目录下执行命令:
truffle compile
-
执行启动命令:
npm run dev
-
复制http://localhost:8080到浏览器查看启动页面
IPFS
tar xvfz go-ipfs.tar.gz
cd go-ipfs
./install.sh
执行ipfs进行测试