标签: metamask

TestRPC/Ganache:tx没有正确的nonce

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

每当我尝试设置事务时,我都会在下面遇到相同的错误

错误:错误:tx没有正确的nonce.account hasce of:14 tx hasce of:0

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

  • 松露v3.4.7
  • Solidity v0.4.13
  • Npm v5.3.0
  • TestRPC v4.0.1(也适用于Ganache)
  • Metamask v3.9.5

根据我的理解,它似乎无法找到以前的事务来散列新的事务?

node.js ethereum truffle metamask

31
推荐指数
2
解决办法
7122
查看次数

如何使用 web3.js 注销 MetaMask 帐户

我正在使用 MetaMask 将交易发送到我的 DApp 中的合约。我需要有关如何在用户单击注销按钮时断开 MetaMask 帐户与我的 DApp 的帮助。

前端:ReactJS

后端:Web3js、Solidity(以太坊)

reactjs ethereum solidity web3js metamask

21
推荐指数
1
解决办法
4万
查看次数

如何在 MetaMask 上触发更改区块链网络请求

我正在使用 web3 进行第一次 dapp 测试,如果尚未选择,MetaMask 会提示用户将网络更改为 Binance (BSC) 网络,如下所示:

元掩码请求更改网络

如何触发这样的请求?

javascript ethereum web3js metamask

20
推荐指数
2
解决办法
2万
查看次数

页面刷新后如何检查Metamask是否已连接

我的 dApp 必须连接到 MetaMask。文档中有两种粗鲁的解决方案:让用户每次手动单击连接 btn 或在页面加载后弹出连接确认。我想实现唯一方便的解决方案:第一次用户通过单击连接 btn 并与 MetaMask 弹出窗口交互来手动连接,然后我的 dApp 检测到连接仍然建立并使用此连接。我找不到解决方案,但我在其他 dApp 中看到了这个(例如捕获以太)我使用:

import detectEthereumProvider from '@metamask/detect-provider';

const provider = await detectEthereumProvider(); 

if (provider) {
  connect(provider)
} else {
  // kind of "Install the MetaMask please!"
}

function connect(provider) {
  // How to check if the connection is here
  if (//connection established) {
    // Show the user connected account address
  } else {
    // Connect
    provider.request({ method: "eth_requestAccounts" })
      .then // some logic
  }
}
Run Code Online (Sandbox Code Playgroud)

javascript ethereum web3js metamask

17
推荐指数
1
解决办法
2万
查看次数

如何使用 web3js 避免 MetaMask 中的“此汽油费已建议”消息

我目前正在升级以太坊 dApp(使用 React JS)以符合新的 EIP-1559 标准(又名伦敦硬分叉)。该应用程序使用 web3.js (v1.5.2) 发起交易,其形式类似于

const contract = new web3.eth.Contract(
  contractABI,
  CONTRACT_ADDRESS,
);

await contract.methods
  .deposit(recepient, amount)
  .send({ from: account, value })
Run Code Online (Sandbox Code Playgroud)

我们鼓励用户使用 MetaMask 与我们的应用程序交互。

尽管我在发送交易时既没有指定gasPricegasLimit、 也没有指定等效项maxPriorityFeePerGasmaxFeePerGas由 EIP-1559 指定,MetaMask 仍然警告(在我的本地测试环境中)“localhost 建议的汽油费”,并带有“未知的处理时间”和潜在的潜在风险。巨额费用。

单击“编辑”时会出现另一条警告消息,更糟糕的是,根据 MetaMask 的估计,我(或我猜 web3)所谓“建议”的值并不合理。

有没有办法使用 web3 与 MetaMask 接口来接受 MetaMask 的建议值,删除这些 MetaMask 警告并确保费用计算正确?我注意到查看https://app.uniswap.org/时发现,尽管 MetaMask 仍然显示第一个“app.unswap.org 建议的汽油费”警告,但 txn 时间已正确计算,并且单击“编辑”不会出现任何进一步的警告警告。Uniswap 与 MetaMask 更合理的交互是否可以使用 web3.js 复制?

javascript web3js metamask

14
推荐指数
1
解决办法
5076
查看次数

如何使用 Hardhat 将以太币添加到我的本地主机 Metamask 钱包?

我已将元掩码连接到使用安全帽创建的节点http://localhost:8545设置链 id 以匹配安全帽网络链 id 后,我可以在元掩码中连接到网络上的此节点(31337)

如何将以太币发送到本地主机网络上的帐户/地址,以便这些帐户有足够的以太币来部署合约?

localhost metamask ether hardhat

12
推荐指数
1
解决办法
9091
查看次数

错误 HH604:运行 JSON-RPC 服务器时出错:错误:0308010C:数字信封例程::不受支持

我正在 Linux 中设置安全帽。我首先使用这些命令设置了反应应用程序。

npx create-react-app react-dapp

cd react-dapp 
Run Code Online (Sandbox Code Playgroud)

然后我使用此命令安装了一些安全帽依赖项。

npm install ethers hardhat @nomiclabs/hardhat-waffle \
        ethereum-waffle chai \
        @nomiclabs/hardhat-ether
Run Code Online (Sandbox Code Playgroud)

这一切都做得正确。然后我创建了安全帽配置和设置。

npx hardhat 
Run Code Online (Sandbox Code Playgroud)

然后我编辑了hardhat.config.js文件。我有这样的地方。

module.exports = {
solidity: "0.8.4",
paths: {                         
   artifacts: './src/artifacts',  
},
networks: {                 
  hardhat: {
   chainId: 1337                
 }
Run Code Online (Sandbox Code Playgroud)

} }; 之后我创建了节点。

npx hardhat node 
Run Code Online (Sandbox Code Playgroud)

我收到这个错误:

错误 HH604:运行 JSON-RPC 服务器时出错:错误:0308010C:数字信封例程::不受支持

linux api blockchain metamask hardhat

12
推荐指数
2
解决办法
8575
查看次数

通过 MetaMask 连接验证用户是否是 NFT 的所有者?确保连接用户的公共 eth 地址与 NFT 的相同吗?

我需要在我自己的域/服务器上验证连接了 MetaMask 钱包的用户是否是特定 NFT 的所有者,以便允许他使用特殊功能?基本上,我想让用户访问只有该 NFS 所有者才能访问的区域。

我原来的 NFT 在 opensea 中出售,但我不能使用 opensea 隐藏区域选项来为用户提供隐藏密码,因为下一个所有者(转售后)和旧所有者将拥有相同的密码,并且旧所有者仍然可以访问像这样。但我需要只有当前所有者才能访问。

我的用户/访问者已经可以在我自己的域中与 MetaMask 连接,并且我获得了活动帐户的公共 ETH 地址,但由于这只是 javascript 而我的后端是 PHP,所以我不能将 MetaMask 信息发布到我的 PHP 后端,因为这很容易被欺骗/破解。

如何确保当前连接的 MetaMask 帐户与 NFT 所有者(我知道)相同,并仅允许该用户访问 URL?

我当前的状态是用户连接他的 MetaMask,我使用 opensea API 来检查当前谁是 NFT 的所有者。我可以比较两个 eth 地址,但其中的缺陷显然是我使用 ajax 将 MetaMask 公共地址发送到我的后端,这仅用于测试,因为这当然是零保存!

预先感谢您提供我能得到的任何想法、帮助和提示。

PS:我的后端是PHP

authentication metamask nft

11
推荐指数
1
解决办法
4899
查看次数

Metamask 未连接到本地主机 8545

我试图遵循devto.io的教程并将交易发送到智能合约,我需要使用运行npx hardhat node命令时创建的帐户之一连接我的 MetaMask 钱包。为此,我打开 MetaMask 并将网络更新为 Localhost 8545,但 Metamask 未连接到它并显示如下屏幕截图所示的错误。 在此输入图像描述

blockchain ethereum solidity metamask ganache

10
推荐指数
1
解决办法
2万
查看次数

有没有办法向Metamask钱包发起断开连接请求?

我正在构建一个分散的应用程序,用户可以在其中将他们的加密货币钱包 (Metamask) 连接到我的网站。

They can initiate a connection request by clicking a button. On success, the wallet is connected and my website can interact with it.

Is there any way to initiate a disconnect request? Similar to a 'Log out' button. Currently, the users have to manually disconnect their wallet within Metamask settings which is not a straightforward process.

blockchain ethereum web3js web3-donotuse metamask

9
推荐指数
1
解决办法
843
查看次数