环境变量清理

我们看到很多团队因为把环境变量搞错了,导致难以快速启动并运行 ACP。在我们的示例中,我们提供了带有一些辅助代码的环境变量清理。请使用它们!或者,你也可以自己实现。

这可确保你能够顺利运行代码,并且与环境变量相关的错误会被快速捕获并处理。

// 清理环境变量
function sanitizeEnvironmentVariables() {
  const requiredVars = [
    'WHITELISTED_WALLET_PRIVATE_KEY',
    'WHITELISTED_WALLET_ENTITY_ID',
    'SELLER_AGENT_WALLET_ADDRESS'
  ];
  
  for (const varName of requiredVars) {
    const value = process.env[varName];
    
    if (!value) {
      throw new Error(`缺少必需的环境变量:${varName}`);
    }
    
    // 验证特定格式
    if (varName.includes('WALLET_ADDRESS')) {
      if (!/^0x[a-fA-F0-9]{40}$/.test(value)) {
        throw new Error(`无效的钱包地址格式:${varName}`);
      }
    }
    
    if (varName.includes('PRIVATE_KEY')) {
      if (!/^0x[a-fA-F0-9]{64}$/.test(value)) {
        throw new Error(`无效的私钥格式:${varName}`);
      }
    }
    
    if (varName.includes('ENTITY_ID')) {
      const entityId = parseInt(value);
      if (isNaN(entityId) || entityId < 0) {
        throw new Error(`无效的实体 ID:${varName}`);
      }
    }
  }
}

// 在启动时调用
sanitizeEnvironmentVariables();

最后更新于