Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

207
Vistas
¿Cómo verificar si una billetera web3 está desbloqueada?

¿Cuál es la mejor práctica para ver si metamask u otras billeteras web3 están desbloqueadas con ethers.js ?

Actualmente uso esto:

 window.ethereum._metamask.isUnlocked()

Pero la documentación de metamask lo informa como métodos experimentales y me gustaría encontrar algo mejor.

about 4 years ago · Juan Pablo Isaza
2 Respuestas
Responde la pregunta

0

Lo que encontró mi experimentación fue que listAccounts devuelve una matriz de cadenas y si la billetera no está desbloqueada, devuelve una matriz vacía.

Para MetaMask específicamente, sé que no puedes tener una cuenta sin tener una dirección.

Por lo tanto, la función que se me ocurrió fue:

 async function isUnlocked() { const provider = new ethers.providers.Web3Provider(window.ethereum); let unlocked; try { const accounts = await provider.listAccounts(); unlocked = accounts.length > 0; } catch (e) { unlocked = false; } return unlocked; }
about 4 years ago · Juan Pablo Isaza Denunciar

0

Esa es mi propia resolución si alguien la necesita:

 isUnlocked$ = new BehaviorSubject<boolean>(false); async isWalletUnlocked() { const web3Provider = new ethers.providers.Web3Provider(window.ethereum, 'any'); const signer = await this.web3Provider.getSigner(); signer .getAddress() .then((address: string) => { this.isUnlocked$.next(true); }) .catch((err) => this.isUnlocked$.next(false)); }
about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda