问题标签 [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 投票
2 回答
4226 浏览

javascript - 使用元掩码时检测 web3 默认帐户的更好模式

上下文:我想使用 blockies 在页面上呈现一个身份图标,我从 web3 获取 defaultAccount,为此,用户必须使用钱包中选择的地址登录到 metamask。

问题:web 应用程序似乎没有在页面的加载事件上检测到 web3 对象,建议在 wchih 进行检测。

代码:下面的灵感来自以下建议:

https://github.com/MetaMask/metamask-plugin/issues/1158

https://github.com/MetaMask/faq/blob/master/DEVELOPERS.md#partly_sunny-web3---ethereum-browser-environment-check

我一直有间歇性行为,有时 web3 存在,有时不存在,我能想到的唯一解决方案是有一个计时器,但这在我看来有点过于简单,我更喜欢更优雅的东西。

问题:是否有更好的解决方案来在页面加载时从 web3 中检测 defaultAccount?

0 投票
1 回答
702 浏览

electron - 如何在 Electron 中安装 MetaMask 扩展?

我已经从https://github.com/aragon/metamask-plugin成功安装了扩展

当 Electron 应用程序启动时,我可以看到 MetaMask 插件已加载,但不能用它做太多事情。有一些错误:

0 投票
3 回答
9934 浏览

node.js - TestRPC/Ganache:tx 没有正确的随机数

我最近一直在尝试松露并遵循以下教程:http ://truffleframework.com/tutorials/pet-shop

每当我尝试设置交易时,我都会在下面收到相同的错误

错误:错误:tx 没有正确的随机数。帐户的随机数为:14 tx 的随机数为:0

在网上查了很多与此相关的文章,但到目前为止还没有找到可能导致此问题的原因。

  • 松露 v3.4.7
  • 坚固性 v0.4.13
  • npm v5.3.0
  • TestRPC v4.0.1(Ganache 也会发生)
  • 元掩码 v3.9.5

据我了解,似乎无法找到以前的交易来散列新交易?

0 投票
2 回答
1201 浏览

ethereum - 在没有 MetaMask 或任何其他类似扩展的情况下开发 Dapp 的想法

到目前为止,很多 Dapp 开发人员已经制作了很多与 MetaMask 或其他类似扩展(如 Parity 和 Web3.js)集成的 Dapp。

有没有关于在没有上述所有扩展的情况下开发一个的想法或建议?

谢谢你。

0 投票
1 回答
212 浏览

azure - Azure 中的区块链节点不挖掘区块

我使用预定义模板在 Azure 中设置了私有区块链。设置进行得很顺利,三个节点中的两个也在挖掘区块。但是,由于某种原因,我无法将以太币从管理站点发送到我在 MetaMask 中设置的钱包,即使我通过 RPC 连接到我的区块链。我认为这与第一个节点没有挖掘任何块有关。有人可以告诉我如何解决这种情况吗?先感谢您!

节点概述

0 投票
1 回答
120 浏览

javascript - Web3 版本到处都不一样

我正在以这种方式从 metamask ectension 初始化 web3-

上面的 console.log 给出了 version 1.0.0-beta.22,但是当我web3.version在组件内的其他函数内部调用时-

这里console.log(web3.version)给出version 0.20.2

我使用 npm 安装的 Web3 版本是 version 1.0.0-beta.22。我猜 0.20.2 版本是由 metamask 以某种方式注入的。我想在1.0.0-beta.22任何地方使用版本。我怎样才能做到这一点?

0 投票
3 回答
4226 浏览

ethereum - 如何检测 MetaMask 登录

我们如何在页面加载后检测用户何时登录 MetaMask ?是否有必要诉诸轮询,或者是否存在页面可以监听的事件?

0 投票
0 回答
142 浏览

ethereum - 有时我会丢失以太坊智能合约中的数组项

我在我的智能合约中发现了奇怪的问题。我使用 testrpc (v4.1.3) 和最后一个 MetaMask 作为本地开发环境。请看下面的代码(它是简短的版本,只是有问题的地方):

通常一切正常:

  1. 用户调用函数 payForSomething()
  2. 用户在浏览器中获取事件 PaymentPlaced
  3. 用户调用 changeSomething()

但...

有时我有下一个问题:

  1. 用户调用 payForSomething()
  2. 用户获取事件 PaymentPlaced(例如:blockNumber = 10,payIndex = 5)。
  3. 用户调用 changeSomething() - 并得到错误“无效的操作码”
  4. 如果用户再次调用 payForSomething() - 他会收到事件 PaymentPlaced 和数据 (blockNumber == 15, payIndex = 5)

相同的数组长度,不同的块号,两个插入事件……

所以......有时会发生,有时一切正常。我总是只有一个用户,只有我使用这个智能合约(我还在开发它)。

为什么我会丢失数组中的项目?

0 投票
1 回答
1262 浏览

security - Is it secure to run public ethereum node?

I'm creating my first Ethereum contract with truffle. I want the web application to be usable without MetaMask so I was wondering if it is a good idea to run my own private node and to connect from the frontend like this:

Are there any security risks with this approach ?

0 投票
1 回答
4821 浏览

javascript - Web3/Metamask:错误:合约尚未部署到 Kovan 网络上检测到的网络(网络/工件不匹配)

我尝试部署一个已经存在于 Kovan 网络上的合约实例,以便与 web3 和 metamask 进行交互。

所以首先,我将 metamask 设置为我当前的提供者,然后我部署一个合约实例,如下所示:

但是,我收到以下错误:

我发现它是由 web3 的网络 ID 引起的,恰好是错误的。我的 web3 网络 ID 由 Metamask 设置,它应该使用正确的 ID 注入 web3。但是当我得到网络 ID 时,我得到了完全不同的结果:

有没有办法手动设置 web3 的版本网络?我查看了文档和 github,但没有有用的见解。

编辑:

似乎关闭和重新打开 chrome 解决了 ID 问题。所以现在我将两个 ID 都设置为 42 但错误仍然和以前一样。回到原点...