windows服务器搭建区块链环境(node.js+truffle+ganache)

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 dev

1.15.186.44:3000

zhaocai.tech:3000

使用域名完全可以

对了要注意安全组防火墙的设置,将此端口设置为可访问,上方的7545也要可访问后面metamask链接此链时会用到

3000端口通过后,是显示web页面的,之后会将其改为80端口直接访问域名即可

安全组7545也要通过,否则后面metamask链接不上

如下可以访问了

在这里插入图片描述
在这里插入图片描述

这里试试域名

在这里插入图片描述

上方报错

报错的解决方法如下

更改ganache的serve
在这里插入图片描述

我们在启动ganache可以生成空间保存链,进行开始的启动币的定义
在这里插入图片描述

以及不要忘记更改项目代码中的ip如下,改成服务器的ip
注意此处地址是http不是https

这是https服务没有启动,需要申请证书等进行访问

需要注意的是项目代码无需更改
如下为127.0.0.1的不用改

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

MetamaskRPC链接主要是和ganache相关的,更改ganache0.0.0.0之后
链接就可以了

打开ganache

Truffle migrate
Npm run dev

这样就可以链接到链上了

Metamask链接的实际更改ganache为所有服务即可0.0.0.0

账户间的转账是成功的,可以进行的

然后倒入自己的私钥账户,进行购买,交易就能成功了

在这里插入图片描述

到此整个的服务器端的部署算是完成了

注意事项:在metamask创建的钱包必须是在添加网络后创建的钱包才能在电脑进行转账操作,否则电脑插件转账失败

上面错了,在创建钱包后直接添加网络时,会自动将当前账户信息地址导入进去的

合约地址

0x280a59433062ebd9DbCaDDB16E2911A0E2613704
  • 20
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
Ganache Truffle框架下测试文件可以用于测试合约,具体步骤如下: 1. 启动Ganache,确保它处于运行状态。 2. 在命令行中进入项目目录,运行`truffle test`命令,Truffle将自动查找`test`目录下的测试文件并运行测试。 3. 在命令行中可以看到测试的进度和结果。如果测试通过,将显示绿色的“✓”,如果测试失败,将显示红色的“✗”。 4. 在测试文件中,可以使用`assert`语句来判断测试的结果是否符合预期,如果不符合预期,则测试将失败。 例如,假设我们有一个名为`SimpleStorage`的合约,我们可以编写一个测试文件`SimpleStorage.test.js`来测试它: ``` const SimpleStorage = artifacts.require('SimpleStorage'); contract('SimpleStorage', (accounts) => { it('should set the value correctly', async () => { const simpleStorageInstance = await SimpleStorage.deployed(); await simpleStorageInstance.set(42, { from: accounts[0] }); const value = await simpleStorageInstance.get.call(); assert.equal(value, 42, 'The value was not set correctly'); }); }); ``` 在上面的测试文件中,我们测试了`SimpleStorage`合约的`set`和`get`函数是否正常工作。我们首先获取`SimpleStorage`的实例,然后使用`set`函数设置一个值,最后使用`get`函数获取该值并使用`assert`语句判断测试结果是否符合预期。 运行`truffle test`命令后,我们可以在命令行中看到测试结果。如果测试通过,将显示以下输出: ``` Contract: SimpleStorage ✓ should set the value correctly (46ms) 1 passing (68ms) ``` 这意味着我们编写的测试文件成功测试了`SimpleStorage`合约的`set`和`get`函数。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

吾名招财

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值