Preethi Kasireddy, medium.com (来源)
必要的工具对于开发人员的工作是必不可少的,特别是如果开发人员希望有效地开展工作。没有合适的工具会使工作变得艰难无比。
毫无疑问,当前可用于区块链生态系统的开发人员工具是不能够被接受的。即使对于当今最经验丰富的开发人员来说,在区块链上开发功能协议或分布式应用也是一项艰巨的任务。
作为一名Solidity和区块链开发人员,以下是我个人从工具生态系统中找不到的东西:
1. 一个IDE,有良好的linters和所有必要的插件,有效的智能合约开发和区块链分析。
2. 一个构建工具和编译器,有很好的文档记录和易于使用。
3. 一个不是很笨拙的部署工具。
4. 对于各种API和框架实际存在或不完全过时的技术文档。
5. 测试框架并不缺乏。以太坊像Truffle这样的一些工具是可以通过的,但是围绕测试框架的选择和实验是非常需要的。我已经看到太多的智能合约在移动数百万美元的时候完全没有经过测试。在任何情况下缺乏测试是不可接受的,但特别是在涉及如此巨大的资金时。例如,BAT代币销售智能合约没有测试套件,但这些合同被用来在24秒内收回3600万美元。任何有理性的人都知道,如果一个合同能把这么多钱转移,就会受到攻击。
6. 调试工具。调试固态代码就像在黑暗的隧道中用蒙上眼睛寻找金子。在我之前的工作中,我是在web开发中,并且能够使用调试器逐行执行代码,这确实是一个救命稻草。没有这样一个工具,甚至是远距离的工具,在使用Solidity进行开发的时候,都是令人难以置信的,并且是无用的。我们迫切需要使工具更容易分离和诊断问题。
7. 记录工具。同上。
8. 安全审计。这是一个很大的问题。我听说过以太坊只有一个值得注意的安全审计服务,Open Zepplin。虽然他们在审计服务方面为生态系统做了很大的工作,但一个使用智能合约提高数十亿美元的行业需要不止一个独立的创业公司。公司和工程师需要创建更先进的工具和服务,而更多的安全专家则需要帮助彻底审计智能合同。唯一一次对智能合约安全有显着关注的实例是,当two Parity攻击或DAO攻击时。那么,当然,合同不完善的责任是应该由在智能合约的开发者承担的,进而,也应该包括以太坊核心开发团队。但是,我认为这是不公平的。开发人员不应该对知道如何对自己的代码进行安全审计负责。这就像要求斯蒂芬·库里做自己的会计。这种方式行不通。我们迫切需要安全工程师和研究人员的帮助和他们的专业知识。我们需要投资者投入资金旨在使智能合约和区块链更加安全的基金说。
9. 区块浏览器和分析。对于以太坊来说,我们有一个叫Etherscan的区块浏览器。对于比特币,我们有像Blockchain.info,Blockexplorer或Blockcypher这样的区块浏览器。这些都是很好的社区努力。其实我本人大量使用Etherscan。但是要做任何形式的严肃的连锁分析,这些是远远不够的。公共区块链上有各种有趣的数据,也应该进行分析利用。