
# 基于华为云区块链引擎实现电子证据可信上链
#### 方案概述
随着信息化时代的深入发展，文件档案、合同等在我们日常生活中的重要性日益凸显。这些文件不仅仅作为信息记录和参考使用，更是作为法律依据和最后的证据，在各种法律纠纷、商业合作和行政管理中扮演着至关重要的角色。因此防止文件被篡改，保证文件的完整性和真实性，成为亟待解决的问题。
区块链技术以其独特的去中心化、透明、安全、不可篡改特性，正在被广泛应用于文件防篡改领域。通过将文件信息存储在区块链上，任何试图篡改文件内容的行为都会被检测到。区块链服务BCS支持创建一个[华为云区块链引擎](https://support.huaweicloud.com/usermanual-bcs/bcs_usermanual_2112_00.html)实例，即可完成以上功能。
本实践以基于华为云区块链引擎实现电子证据可信上链为例，帮助您了解华为云区块链引擎的基础知识以及如何使用，让您快速上手使用并体验华为云区块链服务。
#### 操作流程
图1流程图   
![](https://support.huaweicloud.com/bestpractice-bcs/zh-cn_image_0000002180049253.png "点击放大")
#### 实施步骤
1. [创建华为云区块链引擎实例](https://support.huaweicloud.com/usermanual-bcs/bcs_usermanual_2114_11.html)。
2. 安装及实例化链代码。 
   实例创建成功后，[安装和实例化电子存证合约](https://huaweicloudchain.obs.cn-north-4.myhuaweicloud.com/sdk/evidence.zip)。
   
   
3. 部署应用。 
   1. 获取[Go客户端示例](https://huaweicloudchain.obs.cn-north-4.myhuaweicloud.com/client/java-client-0.1.11.zip)，可参考*《开发指南》[示例Demo](https://support.huaweicloud.com/devg-bcs/bcs_devg_01_040.html)章节* 。
      ![](https://support.huaweicloud.com/bestpractice-bcs/zh-cn_image_0000002150897850.png "点击放大")
      
   
   2. 配置sdk客户端，并修改客户端示例中config.go的初始化参数，可参考*《开发指南》[SDK客户端配置](https://support.huaweicloud.com/devg-bcs/bcs_devg_01_043.html)章节*。
   
   3. 适配修改示例demo中合约的调用，改为目前evidence合约中的方法调用以及参数。 ![](https://support.huaweicloud.com/bestpractice-bcs/zh-cn_image_0000002186415073.png "点击放大")
      
   
   
   
   
4. 调试应用。 
   执行上述应用程序，可以在区块链浏览器界面查看此次交易详情。并且可以看到存证文件的hash值、上传文件的用户地址create_addr和存证ev_id等信息已经在区块链上，此时该文件如果被修改，那么对应的链上信息将和该文件不一致，这样保护了该文件的完整性，防止了被篡改。
   ![](https://support.huaweicloud.com/bestpractice-bcs/zh-cn_image_0000002152489396.png "点击放大")
   
   
 
