Проверка подписанного сообщения возможна с пакетом php-ecrecover .
Используя этот пакет, вы можете получить исходный адрес сообщения, а затем проверить, совпадает ли он с ожидаемым адресом.
JS Знак:
let message = 'Hello World!'
let address = web3.eth.coinbase
web3.personal.sign(web3.fromUtf8(message), address, console.log);
Проверка PHP:
$address = '0xe12Aa5FB5659bb0DB3f488e29701fE303bcBAf65';
$message = 'Hello World!';
$signed = '0x2cb6b41177a5e6690ebbc61f182758fcf8f54403edcb848fc1089a772227d55163804b4dc7fcf72d15f0d977d741f6dd6bcc4fc4c74916378afcad06be77b2101b';
if ($address == personal_ecRecover($message, $signed)) {
echo 'Message verified';
} else {
echo 'Message not verified';
}