Блок кода получения адреса подписавшего через ecrecover в коде контракта на солидность хорошо работает с Ethereum, но в TRON он возвращает неправильный адрес. Код моей стороны контракта -
function validate(string memory strTest,uint8 v, bytes32 r, bytes32 s) public view returns(address){
bytes32 prefixedHash = keccak256(strTest);
return ecrecover(keccak256(prefixedHash),v,r,s);
// return ecrecover(prefixedHash,v,r,s):
}
, а код стороны dapp -
msg = tronWeb.sha3("this is test string");
var signature = await tronWeb.trx.sign(msg);
var r=signature.substr(0,66);
var s= "0x" + signature.substr(66,64);
var v="0x" + signature.substr(signature.length-2);
retValue = await thisContractInstance.validate("this is test string",v,r,s).call();
но в обоих случаях (один случай комментируется в коде контракта) получение неверного адреса подписавшего в сети TRON shasta