30 DAPP开发完整技术栈以及其流程是啊怎样的。

只会前端三剑客以及部分框架的情况下,向仿制一个DAPP项目。

我应该从哪里开写?

先写合约

再写服务端js响应

然后再写前端? 那问题是,如果合约逻辑要发生改变的情况下。比如玩法机制的更改,智能合约如何进行维护升级? 合约不是不可更改的吗 ?从技术上应该如何实现?

请大佬帮忙写一下完整的开发流程,以及注意事项。

请先 登录 后评论

最佳答案 2022-03-21 05:45

核心还是合约,不过用solidity的话,语法和js很像,因此你学习起来应该很快,学习路线可以参考这篇文章: 以太坊学习路线和资源汇总 | 登链社区 | 深入浅出区块链技术 (learnblockchain.cn)

这篇文章几乎涵盖了所有你需要的内容,包括工具,有了这些基础,你应该就知道开发流程了,除了正常的软件开发流程外,一个DAPP通常有如下工作

  1. 交互设计,UI设计
  2. 合约结构设计,关键数据结构设计
  3. 合约编码,测试,部署,并提取接口用于和前端对接
  4. 前端按照UI设计还原设计稿
  5. 前端通过js完成与合约的交互,联调,测试
  6. 主网发布

另外,通常还有以下额外工作

  1. 为了保证合约安全,还需要进行合约审计
  2. 为了更好的体验,添加中心化服务器以配合前端

至于合约的升级,这个需要用一种特殊的方法,因为正常情况下合约是不能修改的,但是,可以利用delegatecall,将合约地址和实现代码分开,这个openzeppelin-upgrades已经实现的很好了,使用起来也很简单,支持hardhat(推荐的合约开发工具), 基本原理也是利用delegatecall,通过这个就可以实现合约可升级了。

请先 登录 后评论

其它 0 个回答

  • 2 关注
  • 1 收藏,2847 浏览
  • Vgoss777 提出于 2022-03-19 18:22