问题标签 [metamask]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
139 浏览

google-chrome-extension - 如何在我的系统中本地设置 Metamask?

我正在本地设置 Metamask。我已经从https://github.com/MetaMask/metamask-extension下载了存储库。

当我尝试加载扩展时,由于以下错误而失败:

0 投票
1 回答
564 浏览

javascript - 如何使用 Meteor 和 web3 检测 MetaMask 中的帐户更改?

我正在使用流星创建一个 DApp,其中一个 templateVar 显示一个帐户地址。

使用web3JavaScript 中的函数,我将updateInterface()如下所示的方法定义为 updateInterface()

但是,由于该方法是一个循环,我似乎无法触发里面的事件Template.foo.events。该方法有效,因为我能够alert(res)将结果提醒到屏幕上。

有人能指出我正确的方向吗?干杯

编辑:添加了该template.oncreated函数,并且该函数updateInterface()也放置在oncreated、 助手和事件方法之外。

事件的问题在于它需要一个事件,而元掩码检测功能每100 毫秒检测一次帐户更改,我不确定该updateInterface()方法的放置位置。

TemplateVar 指向这里。

0 投票
3 回答
1639 浏览

ethereum - 使用 Drizzle 获取在 Metamask 中选择的当前帐户

如何(在 Drizzle 中)获取 Metamask 中当前选择的帐户?

我有一个调用set智能合约方法的函数,但当前帐户是“硬编码”的:

即在:from: drizzleState.accounts[0]

如何更改from:字段以使用 Metamask 中选择的帐户?

0 投票
1 回答
63 浏览

ethereum - 无法在 Remix 和 Metamask 上向用户退还多余的以太币

构建众筹应用程序。一旦达到目标,对项目的任何以太贡献都将通过 msg.sender.transfer(excess) 或 msg.sender.send(excess) 退还。

在 Remix 和 Metamask 上进行了广泛的测试(通过 Web3 部署)。关键问题是多余的资金会从发件人的账户中全额扣除,并且不会退还给发件人。

0 投票
1 回答
219 浏览

solidity - Solidity问题将参数传递给函数

我有一个具有以下功能的智能合约:

我使用 Truffle V5.0 和 Webpack box 作为样板代码。

在我的truffle-config.js文件中,我有网络配置:

一切都可以使用: - truffle develop - compile -migrate --reset 它说Truffle Develop started at http://127.0.0.1:9545

在我的 index.js 文件中,我有以下代码:

在我的浏览器中,我安装了 Metamask,我添加了一个具有相同 URL 的专用网络,还导入了两个帐户。当我启动应用程序并在浏览器中打开它时,它会打开 Metamask 以请求权限,因为我正在使用window.ethereum.enable();. 但是当我点击按钮时,claim它什么也没做。正常行为是 Metamask 打开提示要求确认,但它从未发生。我还在合同中创建了一个新属性进行测试,它可以很好地显示合同构造函数中分配的值。我的问题是,我错过了什么吗?

我也尝试将函数更改为await claimStar();await claimStar({from: this.account});但在这种情况下,我收到一个错误,说claimStar不需要参数。

我将不胜感激任何帮助。谢谢

0 投票
0 回答
422 浏览

ethereum - Metamask 未显示本地 geth 实例上的以太坊地址余额

重现步骤:

  1. 使用以下命令启动本地 geth 节点:geth --rinkeby --rpc --rpcaddr "127.0.0.1"
  2. 将 metamask chrome 扩展连接到http://localhost:8545
  3. 在 metamask 上创建一个新的以太坊账户 ABC
  4. 新帐户在https://rinkeby.etherscan.io上可见
  5. 将一些以太坊转移到 rinkeby 网络上的 ABC
  6. 在 Metamask 上,我们可以看到 rinkeby 网络上的 ABC 余额增加了
  7. 但是,我们看到 ABC 余额为零,localhost:8545 没有变化

我们检查了本地geth实例上的块号,它大于交易块,所以这意味着新块被下载到本地geth实例。

我们无法弄清楚为什么 Metamask 在连接到 localhost:8545 时仍然显示余额 0。感谢您的帮助。

Etherscan 图像

块图像

元掩码图像

元掩码错误图像

0 投票
1 回答
67 浏览

web3 - 调用 contract 方法导致 Metamask chrome 扩展错误(DOM Exception)

我有一份看起来像这样的合同:

我在 Rinkeby 上成功部署了它,并且我正在使用 metamask web3 提供程序。lottery是我的合同对象。我想对反应组件中的 manager 变量进行简单的调用,如下所示:

但是,我最终得到一个绝对无法解读的 Metamask 扩展错误:

在此处输入图像描述

任何帮助表示赞赏!

0 投票
0 回答
76 浏览

reactjs - React with Truffle contract - 资源必须列在 web_accessible_resources 清单中

我正在使用 truffle 开发 React 应用程序,当我从合同中调用该函数时,我得到了这个错误:

我也在使用 Metamaks,我相信我必须以某种方式在清单中启用它,但我无法让它工作。谁能告诉我该怎么做?

编辑:我认为给我错误的代码是:

0 投票
1 回答
2873 浏览

ethereum - 如何在 React 应用程序中使用 Web3 和 MetaMask 签署消息

我正在开发我的第一个 dapp,我正在尝试使用 Web3 和 MetaMask 来签署消息,但我不断收到此错误:

我关闭了 MetaMask 隐私模式。getCoinBase() 方法正确返回了我在 MetaMask 中选择的地址。但是当我尝试使用它来签署消息时,它不起作用。

这是我的代码:点线是为了跳过不重要的部分。

0 投票
1 回答
135 浏览

solidity - 为什么方法返回数组而不是数字或字符串?

我试图通过 Metamask 中的 web3 从solidity 合约中获取数据。我不明白。为什么我得到数组而不是数字或字符串?也许你知道从以太坊合约中获取正常数据的其他方法吗?考虑我的代码:

我收到了回复: 对于姓名:在此处输入图像描述

对于小数:在此处输入图像描述