我有以下问题。我只是不知道如何initialize WalletConnect和连接到Android上的Metamask。我总是得到以下异常。
java.lang.NoSuchMethodError: No interface method getInitializationErrorsFlow()Lkotlinx/coroutines/flow/Flow; in class Lcom/walletconnect/android/internal/common/model/JsonRpcInteractorInterface;
我的代码如下所示:
val projectId = "15f2b4ae8bb12dsd3d267ce6441d5a9d" // I got the Project ID from https://cloud.walletconnect.com/
val relayUrl = "relay.walletconnect.com"
val serverUrl = "wss://$relayUrl?projectId=$projectId"
val connectionType = ConnectionType.AUTOMATIC
val appMetaData = Core.Model.AppMetaData( // <-- What data should be entered here?
name = "Metamask",
description = "Description",
url = "Wallet Url", // How can I get the wallet url?
icons = listOf(""),
redirect = "kotlin-wallet-wc:/request"
)
CoreClient.initialize(relayServerUrl = serverUrl, connectionType = connectionType, application = application, metaData = appMetaData)
val init = Sign.Params.Init(CoreClient)
SignClient.initialize(init, onError = { error ->
})
3条答案
按热度按时间f1tvaqid1#
请输入您的网址:http://www.wbc.com/
qjp7pelc2#
所有答案均来自本教程:Connect a iOS or Android DApp to Web3 Wallet.我强烈推荐阅读它。
1. “此处应输入哪些数据?":
它是关于你的DApp的数据,它允许最终用户识别并决定在他的钱包请求时授予你权限。
2. “如何获取钱包URL?"
您必须了解一般使用者可以选择他的公文包。因此您无法胁迫使用公文包。您不需要知道使用者使用的公文包,因为交易是透过“公文包联机”桥接器传送的。如果您只想允许使用MetaMask,您应该直接使用MetaMask API。
xmd2e60i3#
您使用的是2.0.0版吗?它在2.1.0版中得到了修复。