Chen-Gary / Chen-Gary/Traceability-System

Lab Summary & Project Architecture & Suggestions

Open
#1 2 comments 0 reactions 0 assignees View on GitHub
documentation
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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.