题目
你们的应用同时支持主网与两条测试网。有一次发版把测试网的合约地址带到了主网环境,用户在界面上看到的是别人家的合约,所幸只是只读页面。
请给出配置组织方案,并说明如何在流程上防止这类事故。
考察目标
- 能否给出兼顾可读与安全的配置结构。
- 是否理解「按环境构建」与「运行时切换」的差别与风险。
- 能否给出组织级防护措施。
考察环境矩阵的建模方式,以及误发到错误网络的组织级防护。
你们的应用同时支持主网与两条测试网。有一次发版把测试网的合约地址带到了主网环境,用户在界面上看到的是别人家的合约,所幸只是只读页面。
请给出配置组织方案,并说明如何在流程上防止这类事故。
配置按「环境 × 链」组织,明确每条链的 RPC、合约地址与版本。涉及资金的地址需要受控发布和审计:可以随构建产物固定,也可以使用有完整性校验及回滚机制的运行时配置。启动和发送交易前都要核对链标识、目标地址及预期合约版本。
request 处理,被拒绝时返回带 code 与 message 的错误对象(依据:EIP-1193 §request、§Provider Errors)。createConfig 用 chains 数组声明支持的链,用链 ID 作为 transports 映射的键,内部按链选择传输与 client(依据:wagmi createConfig §Parameters(chains、transports))。config.getClient({ chainId }) 可以按链取到内部 client,适合在自检脚本里逐链核对端点是否可达(依据:wagmi createConfig §Config(getClient))。createConfig 的 chains 与 transports 以链 ID 为键;只按环境区分而不按链区分,多链地址会互相覆盖(依据:wagmi createConfig §Parameters(chains、transports))。发现这道题有问题? 反馈此题