# BTS-11 EPC合约 **Repository Path**: btsi/epc ## Basic Information - **Project Name**: BTS-11 EPC合约 - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-03-26 - **Last Updated**: 2025-03-26 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # BTSI-EPC #### 介绍 基于蜀信链的存证合约。 本合约支持solidity0.8版本,对应于BCOS的3.X版本,同时支持国密和非国密环境。 #### 安装教程 1. 部署EPC业务合约:EPC\BTSIEPC.sol,记录合约地址A。 2. 部署升级管理合约:EPC\proxy\ProxyAdmin.sol,记录合约地址B。 3. 部署代理合约:EPC\proxy\TransparentUpgradeableProxy.sol,合约部署的时候需要传递3个参数: - 第一个参数是业务合约地址,传A。 - 第二个参数是升级管理合约,传B。 - 第三个参数是业务合约初始化参数,国密环境传固定值:0xea605f3d,非国密环境传递固定值:0x8129fc1c 部署完成后,得到代理合约地址C,该地址既是业务发起调用的地址。 升级过程: 1. 修改业务合约A源代码。 2. 从新部署业务合约,得到新的业务合约A1. 3. 调用升级管理合约B的upgrade方法,该方法需要两个参数: - 第一个参数是代理合约地址C. - 第二个参数是新的业务合约地址A1 升级完成之后,调用代理合约地址C,即执行新的业务合约A1的方法。 #### 注意事项 1. 部署3个合约可以采用同一个地址,同时该地址后续作为管理员地址。升级合约时也只能用管理员地址进行升级。 2. 升级合约编写必须遵守相关的规范,否则会破坏链上数据。 #### 参与贡献 1. Fork 本仓库 2. 新建 Feat_xxx 分支 3. 提交代码 4. 新建 Pull Request