Skip to content
This repository has been archived by the owner on Apr 1, 2020. It is now read-only.

Review && TODO

liuis Lee edited this page Oct 31, 2019 · 3 revisions
issue version priority
需要修复的问题 P0
wallet P1
合约抽象 P2
合约测试框架 P3

一。需要修复的问题,(即为使用更顺畅和平滑):【P0】

1.conffle init 初始化不要让用户自己创建目录,直接在一个空目录执行初始化
2.conffle node 的使用考虑到有的用户使用docker 不方便,使用conffle node up 来启动single node conflux-chain ,使用conffle node down 来关闭掉当前运行的节点。conffle down -v 来清理conflux-chain的产生的数据记录(清理掉blockchain_db)。
3.是否可以考虑不让用户输入 address 和 privateKey ,因为在实际Dapp开发过程中,必须连接用户的钱包,使用钱包中的账户。
4.没有办法让用户自行对用户自己写的合约进行测试,缺少合约的测试框架,truffle 是自带assert 库等,在使用过程使用truffle test XXX.sol 在test 目录进行合约的测试
5.没有类似truffle 的artifact 的功能, 无法对合约进行实例化和debug测试,做UT相关的功能。
6.用户无法知道自己已经发布的合约地址,这个需要做存储记录。
7.兼容测试网testnet 和 localnet本地测试网
8.兼容Linux系统,现在只支持Mac。(Linux 大小写敏感的问题)
9.启动一个本地的区块链浏览器的docker,让用户启动起来,查看相关的本地node的状态也好查看发布的合约。

二。核心功能实现文档【TODO】

a.truffle 和 conflux-chain wallet 的融合【P1】

Conffle account 现在产生的助记词,没法在我们现在的钱包中使用,因为我们的钱包现在不支持助记词导入,需要做matemask的之类的功能。钱包也需要支持链接各种RPC。

b.基于airifact:合约抽象Contract abstraction【P2】

主要功能是对已经发布的合约进行实现连接,实例化封装。主要封装合约ABI和合约地址来实例化已经发布的合约。

1.truffle create <artifact_type>

主要用于migrations和测试。将自动生成migrations的编号前缀。 ArtifactName 必须是 合约的名字 artifact_type 可以是: ​ contract, ​ migration 或 ​ test. 创建的文件通常像这样: contracts/ArtifactName.sol, ​ migrations/####_artifact_name.js ​ tests/artifact_name.js.

c.增加合约的测试框架【P3】

d.调试Debug(逐步执行每个操作并重播replay)【P4】

1.truffle debug <transaction_hash> 单步调试

2.truffle networks 显示每个网络上已经部署合约的地址

e.truffle watch 监视系统对更改进行自动重新构建(rebuild)项目【P5】

Clone this wiki locally