要在Goerli测试网上部署合同,您需要测试币 Goerli ETH(GoerliETH)。虽然它不具有任何实际价值,但它对于支付测试网络上的交易费用至关重要。
Metamask:确保您的Metamask已切换到Goerli测试网络。
前往 Goerli faucet (Goerli水龙头)请求一些GoerliETH。只需粘贴您的Goerli测试网络以太坊地址,您应该会很快就能收到测试币。
在Remix中, 找到 Deploy & Run Transactions
选项。
在 Environment
选项中,选择 Injected Provider
。此选项允许 Remix 连接到您的 Metamask 当前设置的任何网络,该网络应该是 Goerli 测试网。
确保在Contract
的下拉列表中选择了您的合约OracleIntegratedContract
。
在 Account
下拉列表中,您应该看到您的 Goerli 测试网以太坊地址。
在部署之前,您需要一个 Goerli 网络上的 Chainlink 价格预言机的地址。在本例中,我们将使用 ETH/USD 价格预言机。您通常可以在 Chainlink 文档中或通过在 Etherscan 等网站上浏览 Chainlink 合约来找到这些地址。关于测试网预言机地址,请查看此处: Testnet Oracles | Chainlink Documentation
复制您要使用的 Chainlink 价格预言机的 Goerli 测试网地址。在本例中的地址是:0xCC79157eb46F5624204f47AB42b3906cAA40eaB7
回到 Remix 在 Deploy & Run Transactions
选项中,确保您的合约 OracleIntegratedContract
在Contract
的下拉列表中被选中。
将复制的地址粘贴到 Deploy
按钮下方的字段中(这是您提供构造函数参数的地方)。
填写价格预言机地址后,单击 Deploy
按钮。
Metamask 将提示您确认交易。检查燃气(Gas)价格和燃气上限(Max fee),确保一切内容正确,然后确认交易。
交易被添加到区块链中并得到确认后,您将在 Remix 中看到一个日志,其中包含部署的详细信息。您可以单击合约地址在 Goerli Etherscan 上查看合约。
现在合约已经部署,可以测试它的功能了
在Remix的 Deployed Contracts
部分,你应该能看到你的 OracleIntegratedContract
。
展开已部署合约的详细信息,以查看可用的功能。
在进行任何调用之前,你需要在你的 Goerli 测试网地址上获取一些 LINK 代币,你可以在这里请求一些:https://faucets.chain.link/goerli
一旦收到,要检查余额,你可以在 Goerli 上将 LINK 添加到你的 Metamask。你可以在这里找到相关信息: https://docs.chain.link/resources/link-token-contracts
或者,您也可以手动添加合约地址,如下所示:
通过点击它来调用 getLatestEthPrice
函数。它应该以原始格式返回最新的 ETH 价格。
现在,调用 getFormattedEthPrice
函数。此功能以更易读的格式返回价格。
最后,调用 safeGetLatestEthPrice
函数以确保存在数据获取安全检查。
恭喜!你已成功在 Goerli 测试网上部署并测试了一个与 Oracle 预言机集成的合约。这种实际经验是无价之宝,因为它让你离在 Ethereum 主网上部署更近了一步。在我们的下一课中,我们将深入探讨最佳实践和需要注意的常见陷阱。
要在Goerli测试网上部署合同,您需要测试币 Goerli ETH(GoerliETH)。虽然它不具有任何实际价值,但它对于支付测试网络上的交易费用至关重要。
Metamask:确保您的Metamask已切换到Goerli测试网络。
前往 Goerli faucet (Goerli水龙头)请求一些GoerliETH。只需粘贴您的Goerli测试网络以太坊地址,您应该会很快就能收到测试币。
在Remix中, 找到 Deploy & Run Transactions
选项。
在 Environment
选项中,选择 Injected Provider
。此选项允许 Remix 连接到您的 Metamask 当前设置的任何网络,该网络应该是 Goerli 测试网。
确保在Contract
的下拉列表中选择了您的合约OracleIntegratedContract
。
在 Account
下拉列表中,您应该看到您的 Goerli 测试网以太坊地址。
在部署之前,您需要一个 Goerli 网络上的 Chainlink 价格预言机的地址。在本例中,我们将使用 ETH/USD 价格预言机。您通常可以在 Chainlink 文档中或通过在 Etherscan 等网站上浏览 Chainlink 合约来找到这些地址。关于测试网预言机地址,请查看此处: Testnet Oracles | Chainlink Documentation
复制您要使用的 Chainlink 价格预言机的 Goerli 测试网地址。在本例中的地址是:0xCC79157eb46F5624204f47AB42b3906cAA40eaB7
回到 Remix 在 Deploy & Run Transactions
选项中,确保您的合约 OracleIntegratedContract
在Contract
的下拉列表中被选中。
将复制的地址粘贴到 Deploy
按钮下方的字段中(这是您提供构造函数参数的地方)。
填写价格预言机地址后,单击 Deploy
按钮。
Metamask 将提示您确认交易。检查燃气(Gas)价格和燃气上限(Max fee),确保一切内容正确,然后确认交易。
交易被添加到区块链中并得到确认后,您将在 Remix 中看到一个日志,其中包含部署的详细信息。您可以单击合约地址在 Goerli Etherscan 上查看合约。
现在合约已经部署,可以测试它的功能了
在Remix的 Deployed Contracts
部分,你应该能看到你的 OracleIntegratedContract
。
展开已部署合约的详细信息,以查看可用的功能。
在进行任何调用之前,你需要在你的 Goerli 测试网地址上获取一些 LINK 代币,你可以在这里请求一些:https://faucets.chain.link/goerli
一旦收到,要检查余额,你可以在 Goerli 上将 LINK 添加到你的 Metamask。你可以在这里找到相关信息: https://docs.chain.link/resources/link-token-contracts
或者,您也可以手动添加合约地址,如下所示:
通过点击它来调用 getLatestEthPrice
函数。它应该以原始格式返回最新的 ETH 价格。
现在,调用 getFormattedEthPrice
函数。此功能以更易读的格式返回价格。
最后,调用 safeGetLatestEthPrice
函数以确保存在数据获取安全检查。
恭喜!你已成功在 Goerli 测试网上部署并测试了一个与 Oracle 预言机集成的合约。这种实际经验是无价之宝,因为它让你离在 Ethereum 主网上部署更近了一步。在我们的下一课中,我们将深入探讨最佳实践和需要注意的常见陷阱。