主页 > imtoken钱包官网下载 > Polygon 如何帮助以太坊扩容?

Polygon 如何帮助以太坊扩容?

imtoken钱包官网下载 2023-03-29 05:18:31

Polygon 如何帮助以太坊扩容?

qaseven

甚至

2022-09-14 11:01·陕西

了解有关 Polygon 权益证明侧链的所有信息,以及它如何帮助以太坊扩展。 然后通过启动 NFT 项目将 Polygon 与以太坊进行比较。

自 2014 年成立以来,以太坊已成为能够支持图灵完备智能合约的区块链平台事实上的领导者。

以太坊在推动我们现在称为 Web3 的革命方面发挥了重要作用。 最大的去中心化交易所、NFT 市场和收益农业协议都位于以太坊上。 该链负责处理价值数十亿美元的价值,并为创作者和投资者开辟了以前深不可测的途径。

尽管以太坊 dApp 在其用​​户中很受欢迎购买以太坊秒合约,但它们仍远未实现大规模采用。 使用 dApp 的人数仍然只有几百万。 造成这种情况的最大原因之一是链特有的扩展障碍。 除了少数高净值用户外,它很快就会变得无法使用。

幸运的是,社区为帮助以太坊扩展做出了认真的努力。 到目前为止,当今市场上最流行的扩展解决方案是 Polygon PoS(股权证明)侧链。 在本文中,我们将探讨什么是 Polygon 以及它如何克服以太坊的缺点。 最后,我们将通过创建 NFT 铸币智能合约对两条链的性能进行并排比较。

以太坊的问题

以太坊尽管处于市场领先地位,但也存在许多问题:

交易吞吐量低:以太坊每秒只能处理 15 笔交易。 与每秒处理超过 25,000 笔交易的 Visa 或 Mastercard 等解决方案相比,这个数字微不足道。

高 Gas 费用:当一条链可以处理少量交易时,当交易量很大时,它必须增加处理成本。 以太坊以其高昂的汽油费而臭名昭著。 例如,不久前,在一个名为 Otherside 的流行 NFT 造币厂期间,它达到了近 7000 Gwei。 在此期间,即使是最基本的交易也可能花费您超过 500 美元。

缓慢的交易终结:以太坊大约每 15 秒向其链添加一个区块。 由于有多个矿工同时竞争开采区块,一个区块至少要增加4-5个区块才能被认为是最终的。 从本质上讲,交易被视为最终交易需要一分多钟的时间。 对于游戏和金融工具等应用程序来说购买以太坊秒合约,这种缓慢的交易最终性是无法接受的。

解决方案

为了实现大规模采用和接受,必须在以太坊之上开发解决方案来解决其最明显的问题。 本质上,我们需要一个解决方案:

低成本:即使是计算量最大的交易,其成本也不会超过几美分。

快速:交易几乎立即得到确认。

兼容 EVM:开发人员无需学习新工具或语言即可构建解决方案。

以太坊合约地址_购买以太坊秒合约_以太坊合约地址和帐户地址

与以太坊互操作:易于在以太坊和解决方案中存取资金。

参与社区:致力于随着时间的推移改进解决方案并在此基础上构建用户友好的 dApp 的社区。

可持续发展:任何寻求大规模采用的解决方案也必须具有环保意识。

以太坊核心开发人员正在致力于第 1 层扩展修复,例如分片,但这些解决方案还远未完成。 我们需要当今可用且任何人都可以轻松掌握的解决方案。

多边形简介

Polygon 的创建者设计了一条具有上述所有特征的链。 自 2017 年成立以来,Polygon 链已成为最受欢迎的以太坊扩容解决方案之一。

Polygon 在技术上是以太坊侧链。 侧链是通过网桥连接到以太坊的独立区块链。 与 L2 不同,侧链不继承以太坊主链的安全特性。 相反,他们实施了自己的共识协议和区块参数。 因此,侧链不需要向以太坊发布状态变化和交易数据(而 L2 需要)。

侧链与以太坊的更大独立性使 Polygon 更加中心化,但也使其能够实现极高水平的吞吐量。

以下是 Polygon 在以太坊上实施的改进:

高交易速度:Polygon 能够处理高达 65,000 tx/sec,在规模上可与其中心化竞争对手相媲美。

低交易成本:即使是 Polygon 上最繁重的交易也只需花费几美分。 在大多数情况下,与以太坊相比,成本降低了 10,000 倍。

即时交易终结:Polygon 的共识协议保证交易几乎是即时确认的(少于 2 秒)。

EVM 兼容:Polygon 与以太坊建立在相同的软件之上。 因此,以太坊开发人员可以使用完全相同的工具在 Polygon 上进行构建。

强大的社区:Polygon 团队斥资数百万美元建立了一个由建设者、投资者和用户组成的强大社区。 它已经是以太坊上一些最受欢迎的 dApp 的所在地,具有更好的用户体验和更便宜的成本。

低能耗:Polygon 采用 Proof-of-Stake 协议,能耗比 PoW 低 99.9%。 事实上,Polygon 已承诺到 2022 年底实现碳负排放,使其成为当今市场上最大的环保区块链之一。

多边形 PoS 安全注意事项

与其他侧链不同,Polygon PoS 确实有办法继承以太坊的安全性。 Polygon PoS 链利用 Plasma Bridge 来维护和保证高水平的安全性。 Plasma 有一个独特的退出机制,基本上是一组智能合约来帮助移动资产和检查点以进行验证,这使得 Polygon PoS 可以利用以太坊的安全性。

这里唯一的缺点是,通过 Plasma Bridge 从 Polygon 提款到以太坊必须经过 7 天的提款期。 使用 PoS Bridge 取款速度更快(在 30 分钟到 3 小时内),但这种方法不如使用 Plasma Bridge 安全。

购买以太坊秒合约_以太坊合约地址_以太坊合约地址和帐户地址

这两座桥仍然安全可靠,在大多数情况下都能很好地满足用户的需求。 但是,如果您的项目需要最先进的安全性,请仔细考虑 Polygon L2 解决方案,例如 Zero、Nightfall 和 Hermez。

比较动作

既然我们已经在一些项目中看到了 Polygon PoS 相对于以太坊的优势,那么我们来分析一下在两条链上的部署。

在本文的后续部分,我们将创建一个简单的 NFT 合约并将其部署到 Polygon Mumbai 和 Ethereum Goerli 测试网。 我们将观察两条链的发展过程如何几乎相同。

接下来,我们将分析之前(由其他团队)部署在以太坊和 Polygon 主网上的 NFT 合约,然后比较成本和确认时间。

NFT项目概览

我们要创建的项目非常简单。 我们想要编写和部署一个 ERC-721 合约,将单个 NFT 铸造到我们选择的区块链中。

此类项目的第一步是创建 NFT 艺术及其相关元数据,然后将其上传到 IPFS。 对于本教程,我们已经为您完成了这项工作。

您可以查看上传到 IPFS 的图像和关联的 NFT 元数据。

购买以太坊秒合约_以太坊合约地址和帐户地址_以太坊合约地址

打开网易新闻查看精彩图片

NFT熊猫图片

查看文章“使用 NFT 元数据、IPFS 和 Pinata”以了解更多信息。

创建 NFT 合约

第 1 步:安装 MetaMask 扩展

如果您还没有,请为您的浏览器安装 MetaMask 扩展。 安装后,MetaMask 将引导您创建您的第一个钱包。

第 2 步:将 Goerli 和 Mumbai 链添加到 MetaMask

默认情况下,MetaMask 配置有以太坊主网和 Goerli 测试网。 要添加 Polygon 主网和孟买测试网链,请按照文档中的说明进行操作。

以太坊合约地址和帐户地址_以太坊合约地址_购买以太坊秒合约

第 3 步:从水龙头中获取 GoerliETH 和 Mumbai MATIC

前往 Alchemy 的 Goerli 水龙头页面并索取一些免费的 GoerliETH。 您可能需要为此创建一个免费的 Alchemy 帐户。

如果一切顺利,当你切换到 Goerli 测试网时,你的钱包中应该有 0.05 GoerliETH。

另外,从 Polygon 的官方水龙头获得一些免费的孟买 MATIC。 如果成功,切换到孟买链应该会告诉你你有 0.2 MATIC 的余额。

第 4 步:安装 NPM 和节点

我们将使用 JavaScript 和节点构建我们的项目。 如果您的本地计算机上没有安装 node 和 npm,您可以从 Node.js 下载页面安装它们。

您可以通过检查终端上节点的版本号来确保一切正常。

$节点-v

第五步:创建节点项目并安装依赖

让我们通过运行以下命令来设置一个空的项目存储库:

$ mkdir nft-contract && cd nft-contract

$ npm 初始化 -y

我们将使用行业标准以太坊开发环境 Hardhat 来构建和部署我们的智能合约。 通过运行安装安全帽:

$ npm install --save-dev 安全帽

我们现在可以通过运行以下命令并选择创建基本示例项目来创建示例 Hardhat 项目。

$ npx 安全帽

同意所有默认设置(项目根目录、添加 .gitignore 并安装所有示例项目依赖项)。

要检查一切是否正常,请运行:

购买以太坊秒合约_以太坊合约地址_以太坊合约地址和帐户地址

$ npx 安全帽测试

我们现在已经成功配置了安全帽开发环境。 接下来让我们安装 OpenZeppelin 合约包。 这将使我们能够访问 ERC-721 实现(NFT 的标准),我们将在此基础上构建我们的合约。

$ npm 安装@openzeppelin/合同

第六步:编写智能合约

在您喜欢的代码编辑器(例如 VS Code)中打开存储库。 在 contracts 文件夹中,创建一个名为 NFTContract.sol 的文件。

我们将创建一个非常简单的 ERC-721 合约,在部署时(即在构造函数中)生成单个 NFT。 将以下代码添加到文件中:

Ja// SPDX-许可证-标识符:MIT

pragma solidity ^0.8.4;

导入“@openzeppelin/contracts/token/ERC721/extensions/ERC721URIStorage.sol”;

合同 NFTContract 是 ERC721URIStorage {

constructor() ERC721("熊猫 NFT", "PNFT") {

// 薄荷 NFT

_mint(msg.sender, 0);

// 设置元数据

_setTokenURI(0, "ipfs://QmUyZoK21qb8YknXGfDB34RTY8vMqPb6Bsj9U9iLEnyrZR");

第七步:在本地部署合约

现在让我们编写一个脚本来在本地部署和测试合约。 在脚本文件夹中,创建一个名为 run.js 的新文件并添加以下代码:

const hre = require("安全帽");

购买以太坊秒合约_以太坊合约地址和帐户地址_以太坊合约地址

异步函数 main() {

const contractFactory = await hre. 乙醚。 getContractFactory("NFTContract");

常量合同 = 等待合同工厂。 部署();

等待合同。 部署();

console.log("合约部署到:", contract.address);

}

主要的()

.then(() => process.exit(0))

.catch((错误) => {

安慰。 错误(错误);

过程。 退出(1);

});

现在在您的终端上运行以下命令:

$ npx 安全帽运行脚本/run.js

第八步:部署合约到Goerli

为了将合约部署到 Goerli,我们必须将网络添加到 hardhat.config.js 文件中。 module.exports 将文件末尾的对象替换为以下内容:

模块.exports = {

坚固性:“0.8.4”,

网络:{

戈尔利:{