深入解析 blockchain-demo 项目源代码:从启动到挖矿
1)bin/www 文件内实现了一个 NodeJS Express Web Server 的启动程序,其主要功能模块包括:
- 引入 app 模块
- 设置端口号
- 启动服务并监听指定端口
2)app.js 作为项目的起点,它通过引入各个模块来组织和处理各个模块的功能。其中主要包括:
- 引入所需模块
- 设置模板引擎
- 设置静态文件目录
- 设置路由
- 处理错误
3)routes/index.js 通过 Express 的 Router 来完成从浏览器地址到各个页面的路由功能。其中主要包括:
- 引入所需模块
- 定义路由规则
- 渲染页面
4)views 目录下的各个主要页面通过 EJS 模板引擎来组织。其中主要包括:
- 定义页面结构
- 引入所需 CSS 和 JavaScript 文件
- 使用 EJS 语法渲染页面内容
5)public/javascripts/blockchain.js 源码中,难度系数等参数通过全局变量来设置。状态更新、挖矿等机制的设计主要包括:
- 定义区块结构
- 定义区块链结构
- 定义挖矿方法
- 定义验证方法
6)locales/zh-CN.json 内名词的翻译方法通过 JSON 格式来实现。可以通过修改 JSON 文件中相应的值来修改名词翻译。需要关闭 Web server 再重新开始才能生效。
原文地址: https://www.cveoy.top/t/topic/f22Q 著作权归作者所有。请勿转载和采集!