首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用WalletConnect与角应用程序?

如何使用WalletConnect与角应用程序?
EN

Stack Overflow用户
提问于 2022-04-15 17:44:31
回答 2查看 1.1K关注 0票数 3

问题:,我正在尝试使用WalletConnect连接我的角度应用程序中的MetaMask钱包。我有下面的代码来连接钱包。在下面代码中的这一行代码之前,一切都运行良好:await connector.createSession();

有没有人用角度来实现WalletConnect并面对这个问题?

错误:

代码语言:javascript
复制
ERROR Error: Uncaught (in promise): ReferenceError: Buffer is not defined
ReferenceError: Buffer is not defined
    at typedarrayToBuffer (vendor.js:82628:15)
    at arrayToBuffer (vendor.js:61701:71)
    at Module.arrayToHex (vendor.js:61704:24)
    at generateRandomBytes32 (vendor.js:64322:63)
    at vendor.js:56407:96
    at Generator.next (<anonymous>)
    at asyncGeneratorStep (vendor.js:167002:24)
    at _next (vendor.js:167024:9)
    at ZoneDelegate.invoke (polyfills.js:4680:26)
    at Object.onInvoke (vendor.js:137134:25)
    at resolvePromise (polyfills.js:5521:31)
    at resolvePromise (polyfills.js:5475:17)
    at polyfills.js:5587:17
    at ZoneDelegate.invokeTask (polyfills.js:4714:31)
    at Object.onInvokeTask (vendor.js:137122:25)
    at ZoneDelegate.invokeTask (polyfills.js:4713:60)
    at Zone.runTask (polyfills.js:4486:47)
    at drainMicroTaskQueue (polyfills.js:4890:35)
    at ZoneTask.invokeTask [as invoke] (polyfills.js:4799:21)
    at invokeTask (polyfills.js:5908:14)

使用来自文档的WalletConnect代码:

代码语言:javascript
复制
// Create a connector
    const connector = new WalletConnect({
      bridge: "https://bridge.walletconnect.org", // Required
      qrcodeModal: QRCodeModal,
    });

    // Subscribe to connection events
    connector.on("connect", (error, payload) => {
      if (error) {
        throw error;
      }

      // Get provided accounts and chainId
      const { accounts, chainId } = payload.params[0];
    });

    connector.on("session_update", (error, payload) => {
      if (error) {
        throw error;
      }

      // Get updated accounts and chainId
      const { accounts, chainId } = payload.params[0];
    });

    connector.on("disconnect", (error, payload) => {
      if (error) {
        throw error;
      }

      // Delete connector
    });

    // Check if connection is already established
    if (!connector.connected) {
      // create new session
      await connector.createSession();
    }
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2022-04-18 14:30:41

除了@houmn.sanati的答案之外,我还需要做一些额外的步骤。

以下是我为解决这一问题所采取的所有步骤:

npm install buffer

  • Add

代码语言:javascript
复制
{
  ...
  "compilerOptions": {
    ...
    "types": [
      "node"
    ]
  },
  "angularCompilerOptions": {
    ...
  }
}

  • (可选:只有当您遇到preact包的问题时)在package.json文件

中添加对preact包的重写

代码语言:javascript
复制
"overrides": {
    "preact@10.4.1": {
      "preact": "10.0.5"
    }
  }
票数 2
EN

Stack Overflow用户

发布于 2022-04-16 08:02:07

首先,使用npm npm install buffer安装缓冲区,然后在polyfills.ts文件的末尾添加以下代码:

代码语言:javascript
复制
(window as any)['global'] = window;
global.Buffer = global.Buffer || require('buffer').Buffer;
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71887241

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档