Actualmente tengo una aplicación de iOS en la que quiero que los usuarios puedan importar sus billeteras criptográficas a través de WalletConnect. Intento usar la aplicación de ejemplo de WalletConnect y llego a generar una URL que abre metamask pero no solicita ningún tipo de verificación, solo abre metamask y nada más. Veo a otros con el mismo problema en su github también sin resolución. No veo ningún otro servicio/paquete que realice estas funciones además de WalletConnect. Agradecería cualquier sugerencia sobre lo que puedo estar haciendo mal u otras opciones que pueda probar.
Puede conectarse, reconectarse y desconectarse con meta mask usando walletconnect swift lib. Aquí está el enlace: https://github.com/WalletConnect/WalletConnectSwift
Tiene dos secciones:
El servidor se utiliza para las funcionalidades del lado de la billetera. es decir, metamask, trustwallet, etc.
El cliente se utiliza para implementar dApps donde el usuario inicia la solicitud de conexión y la aplicación metamask/trustwallet la obtiene, la solicita y la aprueba.
Debería echar un vistazo al código del lado del cliente, que es útil para implementar dapps.
La verificación depende del bridgeURL que utilizó en la demostración. Aquí está el enlace del puente, debe usar: https://safe-walletconnect.gnosis.io/
Aquí está el código que ayuda a tener verificación en metamask:
func connect() -> String { let wcUrl = WCURL(topic: UUID().uuidString, bridgeURL: URL(string: "https://safe-walletconnect.gnosis.io/")!, key: try! randomKey()) let clientMeta = Session.ClientMeta(name: "ExampleDemoApp", description: "WalletConnectDemo", icons: [], url: URL(string: "https://safe.gnosis.io")!) let dAppInfo = Session.DAppInfo(peerId: UUID().uuidString, peerMeta: clientMeta, chainId: ViewController.chainID) client = Client(delegate: self, dAppInfo: dAppInfo) print("WalletConnect URL: \(wcUrl.absoluteString)") try! client.connect(to: wcUrl) return wcUrl.absoluteString }Espero que te ayude. Está trabajando de mi lado.