@staticmethod
def recover_message_string(message: str, signature: HexBytes) -> Optional[SignedMessageData]
# 恢复消息签名者
message = "Hello, Ethereum!"
signature = HexBytes("0x...") # 65 字节的签名
signed_data = Utils.recover_message_string(message, signature)
if signed_data:
print(f"Message: {signed_data.message}")
print(f"Signer: {signed_data.signer}")
print(f"Signature: {signed_data.signature_data.signature.hex()}")