Erc-721

為什麼 OpenSea Polygon 代理合約沒有交易?

  • April 7, 2022

Polygon 的 OpenSea 基礎集成教程建議將isApprovedForAll()ERC-721 合約的功能覆蓋為:

/**
  * Override isApprovedForAll to auto-approve OS's proxy contract
  */
   function isApprovedForAll(
       address _owner,
       address _operator
   ) public override view returns (bool isOperator) {
     // if OpenSea's ERC721 Proxy Address is detected, auto-return true
       if (_operator == address(0x58807baD0B376efc12F5AD86aAc70E78ed67deaE)) {
           return true;
       }
       
       // otherwise, use the default ERC721.isApprovedForAll()
       return ERC721.isApprovedForAll(_owner, _operator);
   }

這基本上允許合約0x58807baD0B376efc12F5AD86aAc70E78ed67deaE管理合約中的所有代幣。

我在 polyscan 上查看了該合約進行的交易,非常驚訝地發現自 2020 年 11 月合約創建以來只有 4 筆交易。

就像 Web 伺服器代理每次收到來自客戶端的 HTTP 請求時都會向目標伺服器發出 HTTP 請求一樣,我希望看到代理合約為市場上對 Polygon 合約所做的每筆交易進行交易……

為什麼根本沒有交易?這份契約的具體作用是什麼?

不幸的是,我無法發表評論,但我有完全相同的問題!

但這是我的研究。在這裡您可以找到 Polygon 代理地址:Polygon Basic Integration and Meta-transactions

多邊形 ERC721:0x58807baD0B376efc12F5AD86aAc70E78ed67deaE

多邊形 ERC1155:0x207Fa8Df3a17D96Ca7EA4f2893fcdCb78a304101

孟買多邊形(測試網):沒有地址??(主網在掃描器上完全是空的)

乙太坊數據: OpenSea 元交易

乙太坊(未知類型):0xa5409ec958c83c3f309868babaca7c86dcb077c1

Rinkeby Ethereum(測試網,未知類型):0xf57b2c51ded3a29e6891aba85459d600256cf317

但是,是的,為什麼 Polygon 文件中的地址在掃描器上是空的,這仍然是一個問題。

說起我自己的錢包。這些是我與 RegisterProxy 呼叫互動的地址:

Rinkeby Ethereum:0x1E525EEAF261cA41b809884CBDE9DD9E1619573A

(不同於 github)+該合約的委託代理 - 0x0888bd01165e21b75e455ca31e81c82ee22bc578(仍然不同)

乙太坊:(沒有嘗試過

呼叫 Polygonnet)註冊代理!(所以它甚至沒有使用文件中的任何內容)。

我成功地部署了一個工廠合約(實現 isApprovedForAll + ContextMixin + 繼承 NativeMetaTransaction),在 Rinkeby 測試網路上鑄造 ERC721 代幣。在乙太坊測試網上一切正常。

但是當我部署到多邊形的孟買測試網時,我收到以下錯誤:

Gas estimation failed Gas estimation errored with the following message (see below). The transaction execution will likely fail. Do you want to force sending? Internal JSON-RPC error. { "code": -32000, "message": "execution reverted" }"

  • 好的 - Factory 在 Rinkeby 上完美執行並在 OpenSea 上顯示

  • 好的 - 收藏契約中的鑄幣直接在孟買運作

  • 好的 - 孟買的收集契約顯示在 OpenSea 上,其中包含所有鑄造的物品

  • FAIL - 將所有權轉移給工廠後,工廠契約無法鑄幣(見上述錯誤)

  • FAIL - 工廠契約未顯示在 OpenSea 上

Github 上的程式碼:https ://github.com/vzoo/ERC721-with-EIP2981-and-reusable-factory-for-OpenSea/blob/c68e2a389cac78ff6502a07f320989106fc652e3/contracts/VZOOFactory.sol#L154

OS (rinkeby) 上的範例工廠契約:https ://testnets.opensea.io/collection/vzoo-public-sale-v2

您是否找到了在 Polygon Matic/Mumbai 上部署工廠契約的任何工作範例?或者你知道程式碼有什麼問題嗎 - 它是代理部分嗎?

也許這就是為什麼 Polyscan 上的 OpenSea 代理合約只有 4 筆交易的答案。

感謝任何提示

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