遇到TP钱包提示“验证签名错误/符号错误”时,不要慌——多半是编码或签名格式不匹配。诊断要点:1) 消息编码与归一化(UTF‑8、隐藏零宽字符或全角半角);2) 签名格式(65字节 r|s|v 或 DER 编码)和 v 的取值(0/1、27/28、或 EIP‑155 偏移);3) 消息哈希方式(raw hash vs "\x19Ethereum Signed Message:\n" 前缀);4) 十六进制前缀 0x 与大小写;5) 链ID/重放保护与钱包实现差异。排查流程建议:先在可信工具(ethers.js/web3.py)用同一输入复现,去掉 0x 并校验长度;若 v 异常,尝试加减 27 或按 EIP‑155 修正;确认使用 personal_sign 还是 eth_signTypedData;用恢复公钥比对地址;检查 SDK 或节点版本,以及钱包是否做了消息归一化。实践要点包括检测隐藏字符、统一编码、验证签名长度与格式、对签名做 canonical S(lower‑S)处理以避免可篡改性。行业观察:在数字合同时,签名校验是合约执行与责任认定的第一道门槛;多功能数字钱包在兼顾便

