环境变量清理

我们看到许多团队因为搞错了环境变量而难以快速启动 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(`Missing required environment variable: ${varName}`);
    }
    
    // 验证特定格式
    if (varName.includes('WALLET_ADDRESS')) {
      if (!/^0x[a-fA-F0-9]{40}$/.test(value)) {
        throw new Error(`Invalid wallet address format: ${varName}`);
      }
    }
    
    if (varName.includes('PRIVATE_KEY')) {
      if (!/^0x[a-fA-F0-9]{64}$/.test(value)) {
        throw new Error(`Invalid private key format: ${varName}`);
      }
    }
    
    if (varName.includes('ENTITY_ID')) {
      const entityId = parseInt(value);
      if (isNaN(entityId) || entityId < 0) {
        throw new Error(`Invalid entity ID: ${varName}`);
      }
    }
  }
}

// 启动时调用
sanitizeEnvironmentVariables();

最后更新于