Dapp开发路线图:从本地部署到公共部署
立即解锁
发布时间: 2025-08-15 02:34:32 阅读量: 12 订阅数: 12 


区块链实战:从基础到Dapp开发
### Dapp开发路线图:从本地部署到公共部署
#### 1. 本地部署
本地部署是Dapp开发过程中的重要一步,主要是在本地Ganache测试链上测试`DCC.sol`合约。具体操作步骤如下:
1. 点击Ganache图标,选择Quickstart,等待其启动。
2. 从代码库下载`DCC-Dapp-local.zip`,并解压。
3. 导航到`DCC-contract`目录。
4. 执行以下命令编译并部署合约:
```bash
cd DCC-contract
truffle migrate --reset
```
这里有两个合约需要部署:`DCC.sol`和`Migrations.sol`。部署成功后,会看到相关消息,表明两个智能合约已成功部署。接下来就可以对部署在Ganache测试链上的`DCC.sol`进行测试。
#### 2. 使用Truffle进行自动化测试
在开发DCC-Dapp的Web应用之前,需要对DCC智能合约进行自动化测试。自动化测试脚本`DCCTest.js`位于本章代码库中。测试前,需要确保目录结构如下:
```plaintext
DCC-contract
├── DCC-Dapp
│ ├── test
│ │ └── DCCTest.js
│ ├── contracts
│ │ ├── truffle-config.js
│ │ ├── DCC.sol
│ │ └── Migrations.sol
│ └── Application part yet to be added
└── DCC-Dapp-master
```
运行测试的步骤如下:
1. 导航到`DCC-contract`目录。
2. 确保Ganache测试链已准备好。
3. 执行以下命令:
```bash
cd DCC-contract
npm install
truffle test
```
测试输出会显示正测试和负测试的结果。正测试消息以`Success on`开头,负测试消息以`Failure on`开头。建议在编写Web应用和UI之前对智能合约进行测试。
#### 3. 开发Web应用
在智能合约编码和测试完成后,就可以开始开发DCC-app了。Dapp包含安装所需模块的文件`package.json`和设置Web UI的文件`index.js`、`src`。连接Web UI和智能合约的`web3` API调用和代码位于`app.js`中。
##### 3.1 UI设计
DCC-app的初始界面有两个功能:注册(Register)和登录(Login),这两个功能与智能合约中的对应函数名称相同。
- 首次使用的用户在提供的框中输入个人编号进行注册。
- 后续访问时,用户使用相同的个人编号作为参数进行登录。如果输入的参数未注册,登录将失败。
成功注册和登录后,将打开添加课程的界面。该界面有三个面板:
1. **课程类别面板**:列出课程类别(先决条件、核心课程、特定领域课程和顶点项目课程)以及每个类别中允许的课程列表。
2. **选择面板**:显示大学标志,下方有下拉框用于选择课程类别和每个类别中的课程。
3. **操作面板**:有检查资格的按钮和销毁合约的按钮(仅在测试版本中存在)。空白处用于显示每个课程类别的完成状态和DCC项目的GPA要求。
在添加课程前点击“检查资格”按钮,会显示未满足证书标准的界面。当所有要求都满足时,会显示对勾;部分满足时,会显示X和对勾的组合。如果所有课程要求都满足,将计算、验证并显示GPA。
##### 3.2 编写app.js代码
可以添加UI结构元素的代码,并编写`app.js`将用户请求与智能合约函数关联起来。添加课程和课程类别的UI操作决定了从`app.js`调用的智能合约函数。以下是`app.js`的代码片段:
```javascript
else if (course_type == "core") {
App.contracts.Certification.methods.addCoreCourse(course, grade)
.send(option)
.on('receipt', (receipt) => {
App
```
0
0
复制全文
相关推荐










