Windows Subsystem for Linux+VMware palyer+Ubuntu中已经说完了在虚拟机里安装Ubuntu。有了系统之后就可以搭建区块链的环境了

Windows也可以搭建,但是推荐在Linux下搭建,在Windows下会遇到各种问题的

一.安装Node.js和npm

这里有坑

1,用apt安装

sudo apt-get install nodejs
sudo apt-get install npm

这种方式非常简单,但是安装的nodejs和npm的版本可能不是最新版,并不对应。可用node -vnpm -v查看版本,有版本号即代表安装成功。

但是在用npm安装其他应用时会警告版本不适应

npm WARN npm npm does not support Node.js v10.15.2
npm WARN npm You should probably upgrade to a newer version of node as we
npm WARN npm can't make any promises that npm will work with this version.
npm WARN npm Supported releases of Node.js are the latest release of 4, 6, 7, 8, 9.
npm WARN npm You can find the latest version at https://nodejs.org/

在执行下一步操作时就报错了,所以要解决版本问题。所以可以直接用npm升级node和他自己。

sudo npm install -g n
sudo n latest

将nodejs升级到最新版(latest可以换成stable升级为稳定版或者具体的版本号)

sudo npm -g install npm@latest

将npm升级到最新版。

2. 用二进制文件和源码安装

可参考linux 下部署nodejs(两种方式),我没用。二进制文件安装我试了,npm有问题,我就放弃了。

wget https://cdn.npm.taobao.org/dist/node/v13.1.0/node-v13.1.0-linux-x64.tar.gz
#下载安装包,可以在官网或者国内镜像下载
tar zxvf node-v13.1.0-linux-x64.tar.gz
#解压安装包
cd node-v13.1.0-linux-x64/bin
#切换到node和npm可执行文件的目录
ls
./node -v
#查看node的版本
ln -s /home/albert/Download/node-v13.1.0-linux-x64/bin/node /usr/local/bin/node
ln -s /home/albert/Download/node-v13.1.0-linux-x64/bin/npm /usr/local/bin/npm
#将node和npm软连接到bin目录下,方便全局调用。

这里用软连接和配置环境变量的方式均可

nodejs官网地址: https://nodejs.org/en/download/

taobao国内镜像地址: https://npm.taobao.org/mirrors/node/

二、安装truffle和testrpc

truffle用来开发、编译、部署智能合约

testrpc用来搭建一个以太坊私链

sudo npm install -g truffle
sudo npm install -g ethereumjs-testrpc

注: ethereumjs-testrpc已经改名为ganache-cli用下面的命令安装即可。就换个名字。使用细则请查看 https://github.com/trufflesuite/ganache-cli

npm install -g ganache-cli

好了到目前为止已经搭建好区块链的环境了,为了之后的开发,可以再搭建一下Python的环境(Ubuntu是我刚装的系统)

三、Python环境的搭建

如果是做本地开发的话,强烈建议安装Anaconda,集成了很多Python有用的工具。如果是部署生产环境,则推荐捣鼓一下安装Python源包。

1. 下载安装包

https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/ 找一个版本即可。

推荐 anaconda3-4.2.0/python3.5 anaconda3-5.2.0/python3.6

2. 安装Anaconda

Linux的安装包是一个.sh文件。在下载目录下执行

bash Anaconda2-5.2.0-Linux-x86_64.sh

按照里面的提示安装即可。

3. 配置环境变量

有的人说在安装过程中会问是否配置环境变量,但是我的没问,就需要自己手动配置啦

全局环境变量

sudo gedit /etc/profile

注意必须用sudo管理员权限才能修改这个文件

gedit是一个有界面的文本编辑器,还不太会vim就用的gedit

然后再这个文件最后加上一行

export PATH=/home/albert/anaconda3/bin:$PATH

保存文件

执行下面的命令重启环境变量。

source /etc/profile

注:也可以修改~/.bashrc文件,这个是只针对你这个用户的环境变量。

修改后重启一下终端才会生效哦!

4.spyder可能出现的问题

我感觉对于平时开发来说,spyder最好用,集成了jupyter notebook和pycharm的基本功能。就是代码补全不是非常的好。但也可以接受。

我在Ubuntu安装好之后,执行

spyder

但是出现问题

Segmentation fault (core dumped)

我查了资料后,别人说安装一下 pyopengl库即可

所以执行

pip install pyopengl

注意!!!!!

最好不要用很多博客说的conda install pyopengl, 我刚开始用的这个,坑死我了,我用conda安装后运行spyder出现

Traceback (most recent call last): File “/home/albert/anaconda3/bin/spyder”, line 7, in from spyder.app.start import main ImportError: No module named 'spyder'

conda命令也是,证明整个Python环境就被破坏了

我看了一下,Python环境已经变成了3.4,而我之前anaconda安装的是3.6, 所以。完全崩了

应该是conda在安装pyopengl时,检测出pyopengl依赖python3.4,所以把python换成了3.4, 然后再安装的pyopengl

所以,还是用pip吧。Python的版本问题一直很复杂,安装好了这个库,但是这个库依赖的库版本跟别的库不一样,已修改。。。就可能出现各种问题。

安装好pyopengl就没问题了,spyder正常运行