本文介绍了如何在Polygon网络上部署智能合约,包括设置QuickNode Polygon节点、配置MetaMask、获取测试MATIC、编写和部署智能合约的详细步骤。
以太坊是一个非常可爱的区块链,但最近,由于流量过大和许多人在其上构建项目,导致链上有些拥堵。Layer 2 解决方案通过扩展以太坊的可扩展性来解决这个问题。Polygon(前身为 MATIC)就是这样一个解决方案。它是一个以太坊侧链,具有较低的手续费,同时保留了以太坊的安全性。在本指南中,我们将了解更多关于 Matic/Polygon 链的信息,以及如何在 Matic/Polygon 上部署智能合约。
更喜欢视频教程?跟随 Radek 学习如何在 7 分钟内部署智能合约到 Polygon。
如何在 Polygon 上部署智能合约 - YouTube
QuickNode
131K 订阅者
QuickNode
搜索
信息
购物
点击取消静音
如果播放没有立即开始,请尝试重新启动设备。
你已退出登录
你观看的视频可能会被添加到电视的观看历史记录中,并影响电视推荐。为避免这种情况,请取消并在电脑上登录 YouTube。
取消确认
分享
包含播放列表
获取分享信息时出错。请稍后再试。
稍后观看
分享
复制链接
在 YouTube 上观看
0:00
/ •直播
•
订阅我们的 YouTube 频道以获取更多视频!订阅
先决条件
随着以太坊的快速采用,可扩展性问题出现了,随着越来越多的人想要获得宝贵的以太坊区块空间,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 faucet 的地址字段中,然后点击提交。Faucet 将向你发送 0.1 个测试 MATIC。
是时候编写我们的智能合约了,前往 REMIX 以太坊并创建一个新的 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/oth...
- 登链社区 AI 助手,为大家转译优秀英文文章,如有翻译不通的地方,还请包涵~
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!