Metamask

Metamask - “參數指定 EIP-1559 事務,但目前網路不支持 EIP-1559”

  • January 25, 2022

我正在做一個小小的 erc 721 項目。我們有一個前端,允許使用者通過一個按鈕來鑄造我們的幾個 nft。

contract.methods.mint(tokensNumber).send({from: accounts[0], value: 75000000000000000 * tokensNumber} )

出於某種原因,我們的一部分使用者收到此錯誤:

MetaMask - RPC Error: Invalid transaction params: params specify an EIP-1559 transaction but the current network does not support EIP-1559 Object

我們注意到,共同點是他們所有人都在他們的元遮罩上獲得了舊的類型 0 交易表格,而不是帶有優先費用等的新 eip-1559 表格。但奇怪的是,一些使用者已經能夠成功地製作類型 0交易(我看到這兩種類型都在 etherscan 上成功交易)。

我們可以通過讓他們重新安裝 metamask 來解決他們的問題,然後他們會得到類型 2 表單,但這並不理想。

有沒有其他人有這個問題?有沒有可能在 Metamask 的盡頭?

我以前也為此苦苦掙扎。使用帶有 Ledger/Trezor 的 Metamask 的使用者會發生此錯誤。

似乎較新版本的 web3js 要求 Metamask 嚴格將 txs 作為 EIP1559 txs 發送,儘管 Ledger 尚不支持帶有 Metamask 的 EIP1559 txs。

Metamask 已在 10.1.0 版( https://github.com/MetaMask/metamask-extension/releases/tag/v10.1.0)上推出了 EIP1559 + Ledger 支持。這應該可以解決您面臨的問題。使用者已經可以在 Chrome 上直接更新到該版本,但仍在等待 Firefox 擴展的推出。

或者,您可以將 web3js 包版本刪除到較舊的版本(例如 1.2.x),儘管它有自己的怪癖。

上次我測試過,這也影響了其他工具,如 InstaDapp 和 Remix。

通過執行以下步驟,我能夠將我的 Chrome MetaMask 版本更新到 10.1.0:

  1. 導航到“管理擴展”
  2. 啟用“開發者模式”(右上角)
  3. 點擊“更新”(左上角)

我的 MetaMask 立即從 10.0.3 升級到了 10.1.0。

這修復了該錯誤。現在我在嘗試通過 etherscan 在 ERC20 代幣合約上送出 tx 時遇到了這個錯誤:Error: [object Object]

我將在設備上更新我的 Ledger Live 軟體和 Ethereum 應用程序,看看是否能解決這個問題。

更新:我忘記在 Ledger Nano 乙太坊應用程序的“設置”下重新啟用“允許合約數據…”。允許此設置後,我終於可以再次通過 etherscan.io 與智能合約進行互動了!

在此處輸入圖像描述

引用自:https://ethereum.stackexchange.com/questions/109617