这是为北京交通大学《区块链技术》课程制作的实验教程,因面向全校研究生开放选课,故提供了详细的步骤。本文是实验第一步,用于搭建FISCO BCOS区块链平台。

实验一:搭建FISCO BCOS区块链平台

  • 详细阅读FISCO BCOS官方文档:

https://fisco-bcos-doc.readthedocs.io/zh_CN/latest/index.html

1. 安装Linux虚拟机

下载安装包:

  • VMware虚拟机安装包下载地址:

https://download3.vmware.com/software/WKST-PLAYER-1624/VMware-player-full-16.2.4-20089737.exe

  • Ubuntu18.04.6镜像下载地址:

https://repo.huaweicloud.com/ubuntu-releases/18.04.6/ubuntu-18.04.6-desktop-amd64.iso

1.1 安装VMware

全部选择默认配置:

多台机器搭建的区块链环境除了fabric 还有什么_VMware

选择免费用途:

多台机器搭建的区块链环境除了fabric 还有什么_VMware_02

如果出现“虚拟化”相关的报错,需确保电脑开启了虚拟化支持VMware:

多台机器搭建的区块链环境除了fabric 还有什么_VMware_03

应自行查询个人电脑的品牌如何开启虚拟化。一般是开机瞬间按F2进入上图BIOS,将virtualization虚拟化设置为enable开启状态。

1.2 创建虚拟机

进入主界面,点击“创建虚拟机”:

多台机器搭建的区块链环境除了fabric 还有什么_linux_04

选择“安装程序光盘映像文件”,并点击“浏览”选择Ubuntu镜像文件:

多台机器搭建的区块链环境除了fabric 还有什么_VMware_05

输入用户名、密码等:

多台机器搭建的区块链环境除了fabric 还有什么_区块链_06

默认配置即可:

多台机器搭建的区块链环境除了fabric 还有什么_智能合约_07

1.3 启动虚拟机

开启虚拟机,等待完成自动安装:

多台机器搭建的区块链环境除了fabric 还有什么_区块链_08

2. 配置区块链环境

2.1 安装Java环境

多台机器搭建的区块链环境除了fabric 还有什么_VMware_09

2.2 安装FISCO BCOS

安装curl:

多台机器搭建的区块链环境除了fabric 还有什么_ubuntu_10

2.3 配置链环境

  • 创建操作目录
cd ~ && mkdir -p fisco && cd fisco
  • 下载建链脚本
curl -#LO https://osp-1257653870.cos.ap-guangzhou.myqcloud.com/FISCO-BCOS/FISCO-BCOS/releases/v3.0.1/build_chain.sh && chmod u+x build_chain.sh
  • 生成一条单群组4节点的FISCO链
bash build_chain.sh -l 127.0.0.1:4 -p 30300,20200

多台机器搭建的区块链环境除了fabric 还有什么_VMware_11

2.4 启动FISCO BCOS链

  • 启动所有节点
bash nodes/127.0.0.1/start_all.sh

多台机器搭建的区块链环境除了fabric 还有什么_linux_12

2.5 启动控制台

  • 下载控制台
cd ~/fisco && curl -#LO https://gitee.com/FISCO-BCOS/console/raw/master/tools/download_console.sh
bash download_console.sh
  • 拷贝控制台配置文件
cp -n console/conf/config-example.toml console/conf/config.toml
  • 配置控制台证书
cp -r nodes/127.0.0.1/sdk/* console/conf
  • 启动控制台
cd ~/fisco/console && bash start.sh

多台机器搭建的区块链环境除了fabric 还有什么_区块链_13

3. 运行智能合约

查看控制台内置的HelloWorld智能合约源码:

多台机器搭建的区块链环境除了fabric 还有什么_ubuntu_14

3.1 部署智能合约

  • 部署控制台内置的HelloWorld智能合约
deploy HelloWorld

多台机器搭建的区块链环境除了fabric 还有什么_VMware_15

3.2 调用智能合约

  • 根据智能合约地址调用get函数
call HelloWorld 0x6849F21D1E455e9f0712b1e99Fa4FCD23758E8F1 get

多台机器搭建的区块链环境除了fabric 还有什么_VMware_16

  • 调用set函数
call HelloWorld 0x6849F21D1E455e9f0712b1e99Fa4FCD23758E8F1 set "Hello, FISCO BCOS"
  • 再次调用get函数查看set的结果
call HelloWorld 0x6849F21D1E455e9f0712b1e99Fa4FCD23758E8F1 get

多台机器搭建的区块链环境除了fabric 还有什么_智能合约_17