本文介绍了Polygon(原Matic)链以及如何在Polygon上部署智能合约。文章详细讲解了Polygon的背景、优势,以及如何通过QuickNode设置Polygon节点、配置MetaMask钱包、获取测试MATIC代币,并在 Remix IDE 中编写和部署一个简单的存储合约。最后,演示了如何与已部署的合约进行交互。
以太坊是一个非常棒的区块链,但最近,大量的流量和许多人在其上构建应用导致链变得有点拥堵。Layer 2 解决方案通过扩展以太坊的可扩展性来解决这个问题。Polygon (FKA MATIC) 就是这样一种解决方案。它是一个以太坊侧链,具有较低的 gas 费用以及以太坊的安全性。今天在本指南中,我们将更多地了解 Matic/Polygon 链以及如何在 Matic/Polygon 上部署智能合约。
前提条件
随着以太坊的快速采用,可扩展性问题出现了,随着越来越多的人想要获得宝贵的以太坊区块空间,gas 价格开始上涨。Polygon,最初作为 MATIC 网络推出,旨在为以太坊提供可扩展的解决方案。它是一个 权益证明 区块链,就像其他 PoS 区块链一样,不同之处在于交易被收集然后在以太坊区块链上结算。这使 Polygon 具有以太坊的互操作性、流动性和安全性。
Polygon 的主链是一个权益证明(PoS)侧链。其中 MATIC,Polygon 网络的原生代币,被用作质押代币来验证交易和投票决定网络升级。MATIC 也用于支付 Polygon 上的 gas 费用。
现在我们知道了 Polygon 是什么,让我们在这个很棒的网络上部署一个合约。
我们将在 Polygon Mumbai 测试网上部署我们的合约。 我们可以简单地在此处注册一个免费的 QuickNode 帐户,并轻松生成一个 Polygon 节点。
复制 HTTP URL,下一步将需要它。
创建 QuickNode Polygon 节点后,我们将不得不在 MetaMask 钱包中将其设置为自定义 RPC。
我们将需要一些测试 MATIC 来支付 gas 费用,以部署和交互智能合约。
从 MetaMask 复制你的地址,将其粘贴到 Polygon 水龙头的地址字段中,然后单击提交。 水龙头将向你发送 0.1 测试 MATIC。
是时候编写我们的智能合约了,转到 REMIX Ethereum 并创建一个新的 solidity 文件,例如:mumbai01.sol
将以下代码粘贴到你的新 Solidity 脚本中:
// SPDX-License-Identifier: MIT
pragma solidity >=0.4.0 <0.7.0;
contract SimpleStorage {
uint storedData;
function set(uint x) public {
storedData = x;
}
function get() public view returns (uint) {
return storedData;
}
}
上面代码的解释。
第 1 行:指定 SPDX 许可证类型,这是 Solidity ^0.6.8 之后添加的内容。
每当智能合约的源代码公开可用时,这些许可证可以帮助解决/避免版权问题。 如果你不希望指定任何许可证类型,则可以使用特殊许可证 UNLICENSED 或直接跳过整个注释(这不会导致错误,只会发出警告)。
第 2 行:在第一行,我们声明了我们想要使用的 Solidity 编译器。 例如,我们的目标是 ≥ 0.4.0
和 <0.7.0
之间的任何版本。
第 3 行:我们在这里声明我们的合约,并将其命名为 SimpleStorage。
第 4 行:声明一个名为 storedData 的 uint(无符号整数)变量,该变量将用于存储数据。
第 5-7 行:接下来,我们将添加一个 set 函数,我们将使用它来更改变量 storeData 的值。set 函数接受一个参数 x,我们将其值放入 storeData 中。 此外,该函数被标记为 public,这意味着该函数可以在此函数范围之外以及其他合约中调用。
第 8-10 行:我们将添加一个 get 函数来检索 storeData 变量的值。 此函数被标记为 view,它告诉 Solidity 编译器这是一个只读函数。
除此之外,get 函数还具有 returns (uint),这意味着该函数将返回一个 uint 值。
现在单击左侧菜单中的 Solidity 徽标,然后单击编译。 成功编译后,Solidity 徽标上将出现一个绿色勾号。
现在,单击左侧菜单中的选项以部署已编译的合约,然后选择 Injected Web3 作为环境。 在环境下方,将显示我们网络的名称和 chainid。 在这种情况下,Matic 测试网为“custom 80001”。 确保你在合约选项下选择了正确的合约名称。 检查完所有内容后,单击“Deploy”并从 MetaMask 弹出窗口中接受交易。
一旦合约部署交易被批准,已部署的合约将出现在“Deployed Contracts”部分下。
展开已部署的合约,然后单击“get”。 它将返回 storedData 的值,当前为零,因为我们尚未输入任何数字。
要输入一个值,请在 set 按钮附近的字段中输入一个数字,单击“set”并从 MetaMask 弹出窗口中批准交易。 一旦交易被批准,storedData 的值将是输入的数字。 要验证这一点,请单击“get”,然后将打印先前输入的值。
这就是在 Polygon 上部署合约的方式!
非常感谢,如果你正在阅读本文,请致以敬意; 你学习了什么是 MATIC/Polygon,如何在 MetaMask 中设置 QuickNode Polygon 节点,获取测试 MATIC,部署智能合约以及与之交互!
订阅我们的 newsletter 以获取更多关于以太坊的文章和指南。 如果你有任何反馈,请随时通过 Twitter 与我们联系。 你始终可以在我们的 Discord 社区服务器上与我们聊天,其中包含你将遇到的最酷的一些开发人员 :)
- 原文链接: quicknode.com/guides/pol...
- 登链社区 AI 助手,为大家转译优秀英文文章,如有翻译不通的地方,还请包涵~
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!