
# 低代码合约开发
传统的智能合约开发需要开发人员使用底层区块链支持的合约语言进行相关业务开发和测试，开发人员不仅要求具备一定的编程能力，还需具备区块链等相关知识以保障合约的安全性。华为区块链提供低代码开发能力，开发人员仅需要根据实际业务画出业务流程建模符号（Business Process Modeling Notation，简称BPMN）和少量辅助功能代码的开发，即可完成安全可靠的智能合约编写。
通过设计以下模块实现低代码开发和部署：
- BPMN业务图绘制 BCS提供的BPMN绘制页面简单易用，用户通过拖拽方式将开始事件、活动、网关、连接对象、结束事件、泳道等组合起来，通过实际业务逻辑绘制定制化BPMN业务图。其中，用户仅需编写少量业务需要的代码和查询功能代码即可完成智能合约的制作。通过绘制页面可实时验证BPMN的有效性，验证无误后单击构建，生成智能合约。
  
- 智能合约部署 Package Management界面用于智能合约的管理，用户登录业务管理页面后跳转到该界面，可查看和管理已生成的智能合约。通过对生成的智能合约选择背书策略、安装合约的组织等配置，完成合约的安装和实例化，智能合约最终运行在背书节点中的一个Docker容器内。
  
- 智能合约触发 实例化后的智能合约，可以通过外部条件来触发合约执行过程，支持事件触发和交易触发的方式，两种模式均会触发背书节点进行一致性共识，避免恶意节点作恶。
  
- 智能合约变更 业务更替升级后，用户绘制新的BPMN业务图并改变版本号，构建新版本的智能合约，重新部署合约即完成智能合约的变更。为保证安全性，合约的变更需要一定数量的背书节点达成共识后才能完成。
  
 
