区块链工程专业在线实验平台

区块链在线实验环境

随时随地在线实验

基于希冀云桌面实验平台,为学生提供了“开箱即用”的区块链在线实验环境。实验页面分左右两栏,左栏为实验指导手册,右栏为云桌面实验环境。学生可根据左栏的实验指导手册,在右栏的云桌面实验环境中开展区块链实验。

内置丰富的区块链实验环境

希冀区块链在线实验环境为区块链工程专业的每门课程都提供了云桌面实验环境镜像。在实验环境镜像内安装了该课程各实验所需的软件环境,集成了各实验的支撑材料。通过希冀云桌面实验平台,提供的区块链实验环境包括:

Geth,轻量级以太坊客户端 Mist,带有图形界面的以太坊客户端
Go,Go语言编译器及开发环境 SoLC,Solidity编译器
Solc-js,Solidity编译器 Web3.js,基于以太坊的JavaScript API
Marbles Demo,模拟区块链交易的弹珠游戏 IPFS,去中心化的文件系统
MetaMask,轻量级以太坊钱包 Remix IDE,Solidity集成开发环境
HyperLedger Fabric,Linux 基金会创建的开源区块链分布式账本 blockchain-explorer,区块链浏览器
Truffle,以太坊开发框架 Ganache,以太坊私有链
Ganache-cli,Ganache命令行版本 OpenZeppelin,智能合约代码库
Embark,以太坊DAPP框架 Tierion,区块链数据验证平台
Solium,Solidity代码漏洞检查 VIBES,大规模区块链网络仿真器
SimBlock,事件驱动的区块链仿真器 Bitcoin Simulator,命令行比特币网络仿真器
BLOCKBENCH,私有区块链仿真与性能评测框架 WebPack,模块打包器
JDK,Java开发环境 VSCode,多语言集成开发环境
Node.js,运行在服务端的 JavaScript Python,Python语言运行环境
PyCharm,Python语言集成开发环境 ...
支持开展多种类型区块链实验

希冀区块链在线实验环境针对公有链、联盟链、私有链等不同类型的区块链,分别提供了对应的实验环境。在公有链实验环境中,学生实验机可作为独立节点加入到部署在全球互联网上的知名公有链中,参与公有链的分布式记账;在联盟链实验环境中,使用本地集群搭建了联盟链,学生实验机可作为独立节点加入到联盟链中;在私有链实验环境中,学生可在自己的实验环境中创建和实现私有链,并为其构建应用场景。

提供程序自动评判实验环境

区块链工程专业要求学生具备扎实的编程能力,基于希冀的程序自动评判实验环境可发布程序设计相关的实验、作业与考试。针对要解决的工程问题,学生需要自己动脑思考问题解决方案、动手编写程序,并向系统提交代码直到通过评测。通过该训练过程,可有效提高学生面对区块链领域问题的编程能力。程序自动评判实验环境可作为区块链原理、区块链系统、密码学基础、Go语言程序设计、Python语言程序设计、Java语言程序设计等课程的作业、实验以及考试的实验环境。





分布式区块链系统实验环境

提供基于容器的分布式实验环境

希冀区块链在线实验环境提供了基于云桌面的Docker容器实验环境,包含多种区块链相关的Docker镜像。学生可在云桌面实验环境中,基于Docker容器云快速编排和构建面向集群的分布式区块链系统。基于容器云实验环境,支持学生采用开源区块链项目代码构建多节点的公有链系统、联盟链系统以及私有链系统,学生对所构建的区块链系统拥有完全的掌控权,可创建、销毁、停用、重启该区块链系统,可修改源代码重新编译和构建区块链。


提供基于虚机的分布式实验环境

希冀区块链在线实验环境提供了基于云桌面的虚拟机实验环境,包含多种区块链相关的虚机模板。学生可在云桌面实验环境中,基于多台虚机快速构建面向集群的分布式区块链系统。基于由虚机组成的集群实验环境,支持学生采用开源区块链项目代码构建多节点的公有链系统、联盟链系统以及私有链系统,学生对所构建的区块链系统拥有完全的掌控权,可创建、销毁、停用、重启该区块链系统,可修改源代码重新编译和构建区块链。


支持区块链专业其他课程实验的开展

基于所提供的容器实验环境和虚机实验环境,可支撑学生开展分布式系统、分布式计算、分布式存储、P2P网络、信息安全、网络安全、数字身份认证等相关课程的实验。学生可以用多个容器或虚机构建同构或异构的集群计算环境,也可以用多个容器或虚机构建多节点的分布式系统。由于在实验环境内提供了已封装好实验软件和实验材料的Docker镜像或虚机模板,学生启动集群或分布系统后,可立即得到一个完整的、可用的、可靠的课程实验环境。

实验体系

面向提升学生区块链工程实践能力的实验体系,提供16门实验课程,部分课程如下:

课程列表 点击课程名称,可以查看对应的实验列表
Go语言程序设计 密码学基础原理
分布式系统 区块链原理
区块链系统开发 Solidity程序设计
智能合约 区块链案例实践
... ...
部分课程与实验:
课程 实验名称 实验难度 实验学时 实验手册 实验代码 实验数据

Go语言程序设计

Go语言语法、变量、语句 ⭐⭐ 2
Go语言函数 ⭐⭐⭐ 2
Go语言数组、字符串、指针 ⭐⭐⭐ 2
Go语言Range和Map ⭐⭐⭐⭐
Go语言错误处理 ⭐⭐⭐
Go语言并发编程 ⭐⭐⭐⭐ 4
100道Go语言自动评判编程题 ⭐⭐⭐⭐⭐ 50
... ... ... ... ... ...

密码学基础原理

MD5信息摘要算法原理与实践(分组级联) ⭐⭐⭐ 4
MD5密码暴力破解 ⭐⭐⭐⭐ 4
RSA算法最大公约数算法和快速模幂算法 ⭐⭐⭐⭐ 4
对称加密算法-AES加解密算法(128) ⭐⭐⭐⭐ 4
DES算法密钥编排 ⭐⭐⭐⭐ 4
AES的轮函数 ⭐⭐⭐⭐ 4
60道密码学自动评判编程题 ⭐⭐⭐⭐⭐ 100
... ... ... ... ... ...

分布式系统

共享内存与消息队列 ⭐⭐ 2
MPI多机多进程通信 ⭐⭐⭐⭐
CORBA公共对象请求代理体系结构 ⭐⭐⭐ 2
Web Service系统 ⭐⭐⭐⭐ 4
发布订阅系统 ⭐⭐⭐
远程调用:RPC与RMI ⭐⭐⭐⭐
一致性:Paxos与Raft ⭐⭐⭐⭐⭐
微架构与REST风格接口 ⭐⭐⭐⭐
... ... ... ... ... ...

区块链原理

弹珠游戏模拟资产转移 ⭐⭐⭐ 2
比特币数据结构 ⭐⭐⭐ 2
共识协议及系统实现 ⭐⭐⭐ 2
挖矿算法及难度调整 ⭐⭐⭐⭐ 4
匿名和隐私保护 ⭐⭐⭐⭐ 4
基于账户的分布式账本 ⭐⭐⭐⭐ 4
状态树、交易树、数据树 ⭐⭐⭐⭐ 4
GHOST协议 ⭐⭐⭐⭐ 4
权益证明 ⭐⭐⭐⭐ 4
智能合约 ⭐⭐⭐⭐ 4
... ... ... ... ... ...

区块链系统开发

私有链构建 ⭐⭐⭐ 2
联盟链构建 ⭐⭐⭐ 2
公有链构建 ⭐⭐⭐ 2
多机分布式私有链构建 ⭐⭐⭐⭐ 4
多机分布式联盟链构建 ⭐⭐⭐⭐ 4
多机分布式公有链构建 ⭐⭐⭐⭐ 4
使用Go语言从零开发区块链系统 ⭐⭐⭐⭐ 4
使用Python语言从零开发区块链系统 ⭐⭐⭐⭐ 4
使用Java语言从零开发区块链系统 ⭐⭐⭐⭐ 4
... ... ... ... ... ...

Solidity程序设计

Solidity开发环境配置与选择 ⭐⭐⭐ 2
以太坊虚拟机 ⭐⭐⭐⭐ 4
Solidity注释、数据类型、变量、语句 ⭐⭐⭐ 2
Solidity函数、函数修饰符、视图函数 ⭐⭐⭐⭐ 4
Solidity纯函数、回退函数、函数重载 ⭐⭐⭐⭐ 4
Solidity数学函数、加密函数 ⭐⭐⭐⭐ 4
Solidity内联汇编、事件、错误处理 ⭐⭐⭐⭐ 4
Solidity程序调试 ⭐⭐⭐⭐ 4
... ... ... ... ... ...

智能合约

合约创建与构造函数 ⭐⭐⭐ 2
合约组合 ⭐⭐⭐ 2
合约的封装、继承、多态 ⭐⭐⭐ 2
抽象合约、接口、库 ⭐⭐⭐⭐ 4
实现Hello World智能合约 ⭐⭐⭐⭐ 4
Truffle基础与单元测试 ⭐⭐⭐⭐ 4
ERC721合约模板 ⭐⭐⭐⭐ 4
... ... ... ... ... ...

区块链案例实践

基于智能合约的宠物交易项目实战 ⭐⭐⭐⭐⭐ 8
基于智能合约的商品拍卖项目实战 ⭐⭐⭐⭐⭐ 8
基于智能合约的捐赠系统项目实战 ⭐⭐⭐⭐⭐ 8
基于智能合约的保险系统项目实战 ⭐⭐⭐⭐⭐ 8
... ... ... ... ... ...