¿Hay en solana web3js alguna forma de verificar la propiedad de la dirección?
Por ejemplo en ETH firmo un mensaje con PK y luego recupero la dirección con mensaje y firma. Si la dirección que estoy comprobando es igual a la dirección de la función de recuperación, sé que la persona que firma el mensaje es propietaria de la dirección específica.
Necesito hacer la misma funcionalidad en solana.
Gracias por tu ayuda.
import Accounts from "web3-eth-accounts"; /** * Check address ownership by signed message * * @param {string} address address to check ownership * @param {string} message message signed by address private key * @param {string} sign message sign * @returns true if message was signed with this address private key, false otherwise */ export const checkAddressOwnership = (address, message, sign) => { const accounts = new Accounts(); const recoveredAddress = accounts.recover(message, sign); return address.toLowerCase() === recoveredAddress.toLowerCase(); }; /** * Sign message with address private key * * @param {string} message message to sign * @param {string} privateKey private key * @returns signed message */ export const signMessage = (message, privateKey) => { const accounts = new Accounts(); return accounts.sign(message, privateKey); };Solana usa la curva Ed25519 para su criptografía, que, según una búsqueda rápida, no garantiza que tenga esta propiedad de recuperación de clave pública. Esta es la mejor explicación que he podido encontrar: https://crypto.stackexchange.com/questions/9936/what-signature-schemes-allow-recovering-the-public-key-from-a-signature#9939
¡Quizás un experto en criptografía pueda dar más información!