DApp设计与开发 课程笔记(二):remix | hardhat | 测试驱动开发

笔记对应课程内容为成都信息工程大学区块链产业学院老师梁培利DApp 设计与开发 04-06 课

笔记中提到的名词不做过多解释 不懂就搜!

Remix IDE的基本使用

官网:https://remix.ethereum.org/

  • 建议使用其网页版而不是桌面版,侧重于比较实用的特性而不是全部的介绍。
  • 支持编写合约,部署合约(正式网络,测试网和本地测试网络),合约Debug,合约测试
  • 提供的默认环境是VM(Virtual Machine)环境,也就是虚拟环境。如果要使用公链测试网络需要利用钱包,默认用 metamask 。
  • 教学采用了OKT测试网络和测试币,链上交互非常慢,起码需要8秒钟。读合约不用花钱。
  • 不太喜欢将Remix作为一个线上IDE来使用,那么可以将其作为一个本地编辑器Access file system using remixd。需要安装Nodejs,然后安装npm intall remixd。然后可以通过命令行启用访问本地文件。
  • 在前期学习过程中,使用Remix IDE来进行智能合约调试测试要比写脚本来完成方便许多也要容易许多。

Hardhat的基本使用

  • 其他人合作人员需要的是合约地址“ca”和字节码“bytecode”,字节码也就是abi
  • 在Solidity中console.logprint类似,可用作调试
  • Remix可以使用Hardhat的虚拟机,填写ip和端口即可
  • hardhat.config.js文件中可以自定义测试网并部署,--network testnet.

测试驱动开发模式

测试驱动开发(Test Driven Development),是一种不同于传统软件开发流程的新型的开发方法。它要求在编写某个功能的代码之前先编写测试代码,然后只编写使测试通过的功能代码,通过测试来推动整个开发的进行。这有助于编写简洁可用和高质量的代码,并加速开发过程。

  • 传统软件开发模式:需求分析,程序和产品对齐细节,测试,调试,QA测试,上线,新需求编程,测试。
  • 区块链行业特别适合测试驱动开发。

  • 测试驱动开发的好处:降低开发者负担,保护网,提前澄清需求,快速反馈

  • 实施测试驱动开发的要点:

    • 1.分析问题并拆分:把问题分解成一个个可以操作的任务;
    • 2.代码设计:规划、设计功能的实现;
  • 写测试的预期结果expect(xx).to.equal("??")

posted @ 2024-06-28 20:52  孤飞  阅读(31)  评论(0编辑  收藏  举报