Chen-Gary / Chen-Gary/Traceability-System
Lab Summary & Project Architecture & Suggestions
- Dominant language
- Shell
- Stars
- 1
- Forks
- 1
- PR merge metrics
- No merged PRs in 30d
Description
## 1. 每次Lab内容概括
**Lab 1**
* 服务器整体环境准备
* 使用composer
**Lab 2**
* 部署 `.go` 智能合约
> 部署流程,我看不懂
* 使用命令行与合约交互
**Lab 3**
* 基于Lab 2的智能合约(重新部署了一遍这个合约?),启用Node.js后端与其交互
> 后端使用Node.js - Express框架
>
> * 前后端交互:前端采用前后端不分离的方式,即:后端框架使用模板引擎渲染页面到浏览器;
> * 后端与智能合约交互:使用hyperledge提供的 Node.js 包,这个包需要比较复杂的配置,这部分我看不懂
**Lab 4**
这是一个比较意义不明的Lab,智能合约是js写的,不是go,而且与Lab1的js不一样,用的不是composer;与合约交互的方式也是使用命令行。
* install smart contract - PaperNet
* instantiate smart contract - PaperNet (for a specific channel)
* 使用Node.js代码,在命令行与合约交互(issue, buy, redeem)
**Lab 5**
* 使用composer再次实现了PaperNet合约
* 从composer导出`.bna` file
* 使用 `yo` 自动生成REST Server(后端)
* 使用 `yo` 自动生成Angular前端
## 2. 项目整体模式
**模式1(参考Lab5)** - 推荐
* 智能合约:composer
* 后端:`yo` 自动生成
* 前端:`yo` 自动生成
**模式2(参考Lab3)**
* 智能合约:golang
* 后端:自己写,使用Node.js - Express框架,使用hyperledge提供的包与合约交互
* 前端:自己写(前后端分离 / 前后端不分离)
**模式3(参考Lab 4)**
纯粹搞笑的,直接不考虑
* 智能合约:用js写
## 3. 个人建议
* 先使用composer,保证完成一个能够跑通前后端的应用(用户可以交互到),确保项目完成度
* 接下来分两个方向:
(不一定两个都做,选一个就好,来不及的话,都不做也无伤大雅,写到report future work里就行)
* 调整前端UI,把UI变得更好看
* 使用golang重写composer智能合约的逻辑。如果可以的话,参考Lab2,部署这个合约,完成简单的命令行交互。
(专注于最重要的合约逻辑实现,不去考虑Nodejs包怎么跟合约交互 这种非常tedious的事情。Nodejs这部分可以写到future work里)
Contributor guide
No contributing guide indexed for this repository
Research direction
No files, tests, or implementation entry points are named. Start by reviewing the Lab 5 Composer flow, then compare the Lab 3 Go and Node.js/Express approach with the Lab 4 command-line flow. Done is not defined because the issue proposes several possible directions rather than one concrete change.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- angular, express, go, node.js, shell
- Domain
- backend, blockchain, cli, frontend
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 20/100