论文部分内容阅读
近年来随着数字化转型不断加速,各行业都开始重视数据存储的方式。而区块链作为一种可溯源、不可篡改且去中心化的分布式数据存储架构,在全球掀起了热潮。如今以Hyperledger Fabric为代表的区块链架构已经不仅仅能够为金融领域服务,还为监管科技、支付、物流等多种行业提供了一种降低信任成本和交易成本的新途径。与此同时,智能合约作为开发人员与区块链网络交互的唯一中介,其开发方式需要得到更多的关注。然而,当前主流的集成开发环境(Integrated Development Environment,IDE)缺少对智能合约开发的支持,一方面导致其编写难以上手,影响开发效率和代码质量;另一方面,智能合约在区块链网络中调试困难,每次修改都需要重新经历复杂的部署流程,而链下缺少智能合约调用和测试的工具。因此,本文针对Hyperledger Fabric Node.js智能合约设计了便于其编写、调试和测试的方案,并以IDE插件的形式实现了一种帮助开发人员在链下进行智能合约开发的工具。插件基于Intelli J平台和Dev Kit SDK开发;采用Free Marker模板技术实现初始智能合约的生成;应用GPT-2自然语言处理模型针对Hyperledger Fabric智能合约提供代码智能提示;基于Hyperledger Fabric的模拟桩、Mocha框架等实现智能合约模拟调用和测试;结合IDE的调试模式,支持在智能合约调用异常时添加断点进行单步调试。本文描述了一个简单易用的智能合约开发插件的设计与实现。该插件能够为智能合约开发者提供一个轻量级的链下开发工具,降低发布智能合约的时间损耗并且解决开发复杂度带来的挑战,提高开发和部署效率并且提升智能合约的代码质量,使得智能合约在部署到区块链网络上之前就能够保证编码和业务逻辑的正确性。