Tokens
是否可以在 Etherscan 上驗證其他人的智能合約?
我剛剛在 Rinkeby 測試網上部署了一個 ERC20 代幣。該令牌具有一些功能,例如鑄造和燃燒。在驗證 Etherscan 上的程式碼後,我能夠與函式互動並生成更多令牌或按預期燒掉它們。
然而,我剛剛意識到,任何有權訪問包含智能合約的 .sol 文件的人都可能會驗證 ERC20 代幣本身,從而能夠代替我進行鑄造或銷毀。
這甚至可能嗎?如果沒有,我的邏輯中缺少什麼?
沒錯。任何擁有原始碼的人都可以驗證任何合約。
例如,我部署了這個合約:
0xD93f610B9b70E9aCda192091645F48ACfB63C676
使用此帳戶:
0x6827b8f6cc60497d9bf5210d602C0EcaFDF7C405
然後我確保我的 Metamask 沒有連接到 etherscan 並使用隱身模式,我能夠驗證它:
是的,他們可以。事實上,如果之前已經部署了合約(相同的字節碼),許多探索者都會自動驗證它。但是你應該知道的一件大事是,即使沒有驗證,人們也可以與你的合約進行互動。您應該在智能合約中內置訪問控制,這意味著只有某些地址可以進行鑄造或燃燒。