Contract-Development

作為所有者,您如何與已部署的合約進行互動?

  • March 22, 2022

我使用 Hardhat 作為我的開發框架,但是我有一些關於與已部署契約互動的初學者問題,我在 hardhat 文件中找不到這些問題(或者這是否涉及 Infura?)。

  1. 部署時能控制合約的owner地址嗎?你如何設置它?您要用作所有者的地址必須在您部署到的網路上可用?安全帽網路上的本地開發怎麼樣?
  2. 我已經看過有關在使用安全帽控制台部署後呼叫合約函式的文件(實例化工廠,等待對函式的呼叫等),這是呼叫合約函式(例如管理onlyOwner函式)的“標準”方式withdraw()or pause(), 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上執行

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