You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何修复ethers.js中的invalid hexlify value错误

解决Ethers.js中"invalid hexlify value"私钥错误

这个错误的直接原因是你传入的私钥不符合Ethers.js的格式要求,大概率是代码里还留着占位符"PRIVATE_KEY",或者私钥本身格式不对。

核心解决步骤:

  • 替换占位符:把代码中写死的"PRIVATE_KEY"字符串换成你实际的以太坊私钥。私钥必须是64位十六进制字符(0-9、a-f),可以带0x前缀或不带,比如:

    // 正确写法示例
    const privateKey = "0x7a2f...完整的64位十六进制私钥...e1b3";
    // 或者不带0x前缀
    const privateKey = "7a2f...完整的64位十六进制私钥...e1b3";
    
  • 校验私钥格式:检查私钥是否有多余的空格、换行符,长度是否正确(带0x是66位,不带是64位)。如果是从MetaMask等钱包导出的私钥,确保复制时没有遗漏或多复制字符。

  • 安全管理私钥(推荐):不要直接在代码里硬编码私钥,用环境变量更安全。比如用dotenv包:

    1. 安装依赖:npm install dotenv
    2. 在项目根目录创建.env文件,写入:
      PRIVATE_KEY=0x你的实际私钥
      
    3. 在代码中读取:
      require('dotenv').config();
      const privateKey = process.env.PRIVATE_KEY;
      

额外排查点:

如果替换后还是报错,检查是不是把助记词当成私钥传入了——助记词和私钥是完全不同的东西,Ethers.js的Wallet构造函数只接受私钥,要用助记词的话得用ethers.Wallet.fromMnemonic(助记词)来创建钱包实例。

内容的提问来源于stack exchange,提问作者Lillian Carr

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.24 10:27:03