如何在Polygon上创建ERC-20通证

ERC-20通证是在EVM兼容的区块链和Layer 2网络上进行交易的一个关键部分。在本教程中,你将学习如何在Polygon上创建ERC-20通证,这是一个Layer 2 EVM区块链,比直接部署在Ethereum主网上的成本低。

什么是ERC-20通证?

ERC-20通证是区块链上的“某种东西”的代表。它们是可替换的,也就是说它们是可以互换的。你不用关心你有某种通证的哪一个,因为它们都是一样的,只需要关心你有多少个这种通证。这与不可替代的通证(NFTs)形成对比,后者是独特的,因此不能互换:你关心的是你拥有哪个通证,而不一定是多少个。

在Polygon上开发

随着像以太坊这样的网络变得更加繁忙,gas价格上涨,交易确认时间变得更长。为了避免这些问题,开发者们可以将他们的dApp部署到像Polygon PoS网络这样的扩容解决方案。让我们探究一下Polygon,为什么你可能想使用它,以及如何开始使用。

什么是Polygon?

提到“Polygon”通常指的是Polygon PoS链,但Polygon比我们这里要关注的链版图更大。开发者正在努力扩展Polygon,使其不仅仅是Polygon PoS链,更旨在将其变成一个协议和框架,用于构建和连接兼容以太坊的区块链网络。例如,Polygon Hermez是一个ZK rollup,目前已上线用于支付场景。

此外,Polygon之前被称为Matic。这一名称变化的一个遗留产物是Polygon PoS链内使用的通证:MATIC。

Polygon PoS是Layer 2吗?

通常,人们把Polygon PoS称为Layer 2链。虽然它提供了二层的一些主要好处,但它实际上是一个增加了额外功能的侧链:在以太坊主链上创建检查点的能力。虽然这听起来类似于op-rollup,因为它在主链上增加了交易检查点。但必须了解Polygon PoS是一个独立的链,有自己的安全和信任保证。

Polygon PoS的优势

Polygon PoS是一个兼容EVM的公链。这意味着你可以在Polygon PoS上部署与Ethereum上相同的合约。 Polygon PoS也很快速:它的理论最大值为每秒65,000笔交易。与以太坊目前的每节15笔交易相比,这是一个巨大的速度上的差异。Polygon PoS的gas费用也比以太坊低得多。

链与链之间的桥梁

为了将资产从以太坊转移到Polygon PoS,你需要与Polygon桥互动。这是一个合约,它将在以太坊一侧保管你的资产,并在大约7-8分钟后,在Polygon一侧创建一个该资产的封装版本。

这有点像在街机中使用通证。你把你的钱(ETH)交给电玩城的员工(桥合约),反过来,他们创造通证(POS-WETH,质押封装ETH证明)在街机(Polygon PoS)内使用。在那里,你可以使用通证(POS-ETH)在街机中玩游戏。如果你想退出,你可以把你的通证(POS-WETH)还给员工(桥合约),他们会拿着通证(POS-WETH)给你换回钱(ETH换POS-WETH)。

教程

现在,我们开始吧。按照下面的步骤进行,或者按照这个视频进行编程。

要求

要开始开发,你需要的工具基本上与你在以太坊上开发所需要的工具相同。这就是EVM兼容链的一个优势。它们通常不需要你切换工具集。在本教程中,我们将使用:

Remix—一个基于Web的Solidity集成开发环境

Brave Wallet—一个类似于Metamask的加密货币钱包

Openzeppelin—一个区块链合约的安全标准

Polygon Mumbai—Polygon的测试网络

Polygon Faucet—一个获得测试网ETH的好地方

连接到Polygon Mumbai测试网

在Mumbai测试网上建立一个应用程序的第一步是调整你的钱包。首先需要设置你的钱包Chainlist是一个很好的工具,使你能够简单地连接你的钱包并从那里添加链。如果你想自己添加,你可以在Polygon文档中找到以下信息:

Network Name: Polygon Mumbai Testnet

New RPC URL: https://rpc-mumbai.maticvigil.com

ChainID: 80001

Symbol: MATIC

Block Explorer URL: https://mumbai.polygonscan.com/=

获取Mumbai MATIC

MATIC是Mumbai测试网的原生通证。为了部署和与合约交互,我们需要一些MATIC。请前往Polygon水龙头获取一些测试网MATIC。你需要提供你的钱包地址并点击“提交”。

使用OpenZeppelin–Web3标准

OpenZeppelin为开发者提供了一套合约和库,这些合约和库正在成为Web3行业的标准。我们将使用他们的ERC-20合约来定义我们的通证。使用标准化的合约将有助于确保我们创建的通证是可靠的。如果你想了解更多关于OpenZeppelin提供的合约,请查看其入门页面

构建合约

首先前往Remix集成开发环境

Remix提供了一些合约示例,现在可以忽略示例。

在合约目录中创建一个新的合约。

将其命名为PolyCoin.sol

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.2;
import "@openzeppelin/contracts/token/ERC20/ERC20.sol";
contract PolyCoin is ERC20 {
    constructor() ERC20("PolyCoin", "PLYCN") {
        _mint(msg.sender, 1000 * 10 ** decimals());
    }
}

关于小数的说明

Solidity不使用小数。这意味着当你想使用小数时,就需要使用定点运算。你需要在数值中存储固定数量的小数。在这个例子中,digimals()被设置为18,这意味着我们要用10^18乘以我们铸造的通证的数量。

部署

有了这个合约,你就有了一个功能完备的ERC-20通证!现在是时候把它部署到Polygon Mumbai测试网了。

首先,将环境改为“Injected Web3”。这将使Remix能够通过你的钱包与区块链交互。

接下来,确保你部署的是正确的合约。在这个例子中是PolyCoin。

点击“部署”按钮,你应该看到一个确认按钮。我们正在部署合约到一个运行中的区块链上。因此,会涉及gas费用。

该合约可能需要一段时间才能完成部署。一旦完成,你会在“已部署的合约”下看到它。你都可以看到合约中的所有可用功能。这些函数都是从OpenZeppelin合约中导入的。

验证

合约部署完成后,我们可以再次检查它是否显示在Polygon Mumbai测试网中。

复制合约的地址,然后去PolygonScan浏览器。

输入合约地址并搜索它。

你可以看到合约和通证。

你已经成功部署了一个ERC-20通证到Polygon测试网中。

下一步

从这里开始,你可以把你的通证部署到Polygon主网或任何其他的EVM兼容公链。这就是Solidity的好处之一–众多的公链支持EVM兼容的合约。你也可以为你的通证添加更多的功能。OpenZeppelin合约支持额外的铸造、销毁、投票等功能。可查看OpenZeppelin文档了解完整的细节。

创建你自己的ERC-20通证的能力开启了许多新机会,从提供协议治理到与DeFi应用交互等。再进一步,你甚至可以为你的新通证提供一个Chainlink Price Feed,使其能够在广泛的DeFi协议中使用。

要了解更多信息,可访问chain.link,订阅Chainlink通讯,并在 Twitter, YouTube Reddit上关注Chainlink。

Subscribe to Chainlink预言机
Receive the latest updates directly to your inbox.
Verification
This entry has been permanently stored onchain and signed by its creator.