Tokens

是否可以在 Etherscan 上驗證其他人的智能合約?

  • September 15, 2022

我剛剛在 Rinkeby 測試網上部署了一個 ERC20 代幣。該令牌具有一些功能,例如鑄造和燃燒。在驗證 Etherscan 上的程式碼後,我能夠與函式互動並生成更多令牌或按預期燒掉它們。

然而,我剛剛意識到,任何有權訪問包含智能合約的 .sol 文件的人都可能會驗證 ERC20 代幣本身,從而能夠代替我進行鑄造或銷毀。

在此處輸入圖像描述

這甚至可能嗎?如果沒有,我的邏輯中缺少什麼?

沒錯。任何擁有原始碼的人都可以驗證任何合約。

例如,我部署了這個合約:

0xD93f610B9b70E9aCda192091645F48ACfB63C676

使用此帳戶:0x6827b8f6cc60497d9bf5210d602C0EcaFDF7C405

然後我確保我的 Metamask 沒有連接到 etherscan 並使用隱身模式,我能夠驗證它:

https://rinkeby.etherscan.io/verifyContract-solc?a=0xd93f610b9b70e9acda192091645f48acfb63c676&c=v0.8.16%2bcommit.07a7930e&lictype=3

是的,他們可以。事實上,如果之前已經部署了合約(相同的字節碼),許多探索者都會自動驗證它。但是你應該知道的一件大事是,即使沒有驗證,人們也可以與你的合約進行互動。您應該在智能合約中內置訪問控制,這意味著只有某些地址可以進行鑄造或燃燒。

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