Contract-Development
作為所有者,您如何與已部署的合約進行互動?
我使用 Hardhat 作為我的開發框架,但是我有一些關於與已部署契約互動的初學者問題,我在 hardhat 文件中找不到這些問題(或者這是否涉及 Infura?)。
- 部署時能控制合約的owner地址嗎?你如何設置它?您要用作所有者的地址必須在您部署到的網路上可用?安全帽網路上的本地開發怎麼樣?
- 我已經看過有關在使用安全帽控制台部署後呼叫合約函式的文件(實例化工廠,等待對函式的呼叫等),這是呼叫合約函式(例如管理
onlyOwner
函式)的“標準”方式withdraw()
orpause()
, ETC。?這種方法可以接受mainnet
嗎?
- 部署時能控制合約的owner地址嗎?
await ethers.getSigners();
, 返回一個簽名者數組,如果您未指定任何簽名者,則預設情況下在部署時。它使用索引$$ 0 $$的
ethers.getSigners();
- 你如何設置它?
signers
您可以使用其他(帳戶/錢包) 呼叫函式:await yourContract.connect(signer[index]).yourFunction();
- 您要用作所有者的地址必須在您部署到的網路上可用?
所有 EVM 兼容鏈(乙太坊虛擬機)中的所有地址,因此您可以使用 MetaMask 與使用相同地址(因此相同的私鑰)的任何其他 EVM 兼容網路進行互動。
- 安全帽網路上的本地開發怎麼樣?
理論上,您可以使用您在本地使用的錢包在主網上部署。
- 我已經看過有關在使用安全帽控制台部署後呼叫合約函式的文件(實例化工廠,等待對函式的呼叫等),這是呼叫合約函式(例如管理 onlyOwner 函式,例如撤回)的“標準”方式嗎() 或 pause() 等?主網可以接受這種方法嗎?
Hardhat 是一個用於編譯、部署、測試和調試乙太坊軟體的開發環境工具。您可以使用安全帽控制台、使用腳本(例如 web3.js ethers.js 等)、CLI、remix、metamask、etherscan 等與您的智能合約進行互動。對此沒有標準。
你可以先部署在testnet上進行測試,如果它在testnet上執行,它將在mainnet上執行