windows服务器搭建区块链环境(node.js+truffle+ganache)
- 1,安装node.js中文版的
- 2,更改下载源
- 3,安装truffle
- 4,安装ganache(可以跳过使用ganache-cli)
- 5,安装ganache-cli(是nodejs的项目可以更改使其为访问https)(最后改变失败,完全摈弃,手机不使用metamask钱包使用类似的如tokenpocket即可)
- 6,安装ipfs(如未用到可以不用安装)
- 7,测试petshop(无需ipfs)
1,安装node.js中文版的

自己下载安装的为此64位的版本
将其复制到服务器进行安装
将下载的复制粘贴到服务器进行安装
本人的版本
链接: https://pan.baidu.com/s/1KhNOIm7s6Cbknsp2TYe7ig?pwd=aczf 提取码: aczf

Node -v查看版本说明安装成功
Node自带npm包管理器,可以使用npm下载相关包
2,更改下载源
此处更改其下载源防止其下载缓慢
npm config set registry https://registry.npm.taobao.org
npm config get registry
npm install -g cnpm --registry=https://registry.npm.taobao.org
只执行npm config set registry https://registry.npm.taobao.org
即可
使用npm config get registry
可以查看当前配置

执行npm config set registry https://registry.npm.taobao.org

3,安装truffle
此时安装truffle在全局中安装,不是在局部的安装
使用下方命令成功了(淘宝的环境)
npm install -g truffle@5.3.11

Truffle框架会涉及管理员身份,若本身的账号是管理员的话不用以管理员身份运行,不是管理员的账户要使用cmd管理员身份运行打开truffle
Truffle
查看是否安装成功

4,安装ganache(可以跳过使用ganache-cli)

Ganache下载缓慢,此处已经下载完成链接如下
里面包含所有的安装环境
链接:https://pan.baidu.com/s/1VQw85Jw9F9ErsxJkVuTZIQ
提取码:ec4l
这个appx的版本的在服务器无法安装,故在github找到其exe版本下载


Ganache启动区块链后可以进行保存,即快速启动时保存,注意一旦保存初始钱币及账户个数无法更改
在快速启动前新建一个workspace吧,可以先设置初始钱币和账户个数



上方的add project可以添加已有的空间项目
保存空间名称可以进行自命名

当保存空间后保存的空间地址如下

其内部就包含着区块链的数据
可以移植进行打开,当在设置的
这里的数据为重重之重,后续备份要备份此,这是所有人的相关数据,即便服务器关闭也要先把此空间复制下来
5,安装ganache-cli(是nodejs的项目可以更改使其为访问https)(最后改变失败,完全摈弃,手机不使用metamask钱包使用类似的如tokenpocket即可)
6,安装ipfs(如未用到可以不用安装)
7,测试petshop(无需ipfs)
将在本地已经编写好的一个项目,复制到服务器,测试
先快速启动ganache
再将合约部署到ganache链上,相关接口有HTTP://127.0.0.1:7545
Truffle migrate(在json文件等已经有链接的接口等)


部署成功后的ganache
和本地部署私有链的操作过程完全一样
这是测试在服务器部署后能否在本地的浏览器访问的到?
此时启动web服务
Npm run dev1.15.186.44:3000zhaocai.tech:3000
使用域名完全可以
对了要注意安全组防火墙的设置,将此端口设置为可访问,上方的7545也要可访问后面metamask链接此链时会用到
此3000端口通过后,是显示web页面的,之后会将其改为80端口直接访问域名即可
安全组7545也要通过,否则后面metamask链接不上
如下可以访问了


这里试试域名

上方报错
报错的解决方法如下
更改ganache的serve

我们在启动ganache可以生成空间保存链,进行开始的启动币的定义

以及不要忘记更改项目代码中的ip如下,改成服务器的ip
注意此处地址是http不是https
这是https服务没有启动,需要申请证书等进行访问
需要注意的是项目代码无需更改
如下为127.0.0.1的不用改



Metamask的RPC链接主要是和ganache相关的,更改ganache为0.0.0.0之后
链接就可以了
打开ganache后
Truffle migrate
Npm run dev
这样就可以链接到链上了
Metamask链接的实际更改ganache为所有服务即可0.0.0.0
账户间的转账是成功的,可以进行的
然后倒入自己的私钥账户,进行购买,交易就能成功了

到此整个的服务器端的部署算是完成了
注意事项:在metamask创建的钱包必须是在添加网络后创建的钱包才能在电脑进行转账操作,否则电脑插件转账失败
上面错了,在创建钱包后直接添加网络时,会自动将当前账户信息地址导入进去的
合约地址
0x280a59433062ebd9DbCaDDB16E2911A0E2613704