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)。

教程

现在,我们开始吧。按照下面的步骤进行,或者按照这个视频进行编码。
https://youtu.be/h8SKFy6yqus

要求

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

Remix–一个基于Web的Solidity集成开发环境
Brave钱包–一个类似于Metamask的加密货币钱包
Openzeppelin–一个区块链合约的安全标准
Polygon Mumbai–Polygon的测试网络
Polygon水龙头–一个获得测试网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。

如何在Polygon上创建ERC-20通证相关推荐

  1. docker删除所有容器_如何在Linux上创建,列出和删除Docker容器

    本篇文章介绍的内容是关于在Linux机器上创建,列出和删除docker容器,下面我们来看具体的内容. 我的官方群点击此处 1.启动Docker容器 使用下面的命令启动新的Docker容器.这将启动一个 ...

  2. 关于如何在github上创建团队开发环境

    今天想写个如何在github上创建团队开发环境的博客.送给那些还不知道如何在github上创建团队开发环境的开发人员. 1.首先,当然你要有个github的账号.具体怎么注册我这里就不说了.可以上gi ...

  3. etcher制作mac启动盘_如何在Mac上创建和引导Linux USB驱动器

    长期以来,Linux一直是可引导闪存驱动器的代名词,无论是要解决您的主操作系统中的某种问题,还是尝试各种发行版. 如何在Mac上创建和引导Linux USB驱动器​www.macz.com 有几种方法 ...

  4. 如何在GitHub上创建自己的仓库?

    大家好,我是柒星 接着上一节GitHub的内容,这篇我们讲如何在GitHub上创建自己的仓库!废话不多说,我们直接上干货!!!以下文章来自公众号[Honker],可在公众号内查看学习资料,领取更多Gi ...

  5. 如何在hexo上创建一篇文章

    博客已经搭建好了,虽然功能比较少,但是还是可以写文章的 新建文章 使用命令来新建文章 hexo new [layout] <title> layout 是文章的布局,默认为post,可以先 ...

  6. 如何在Windows上创建,解压,更新.tar.gz压缩包

    Linux上常用的压缩包格式是.tar.gz..tar.gz文件的创建过程有两步.首先把文件打包到tar文件中,然后用gzip压缩tar文件.这里分享下如何在Windows上创建,解压,更新.tar. ...

  7. 如何在Mac上创建您自己的快捷键?如果键盘快捷键不能正常工作该怎么办?

    Mac上也有很多快捷键,使用快捷键操作会便捷很多,当然你也可以自己来创建快捷键,那么如何在Mac上创建您自己的快捷键?下面带来实用的教程,顺便帮大家解决一下关于键盘快捷键不能正常工作的问题,赶紧来这里 ...

  8. 如何在MacOS上创建第一个iOS Flutter应用

    文章目录 1.安装Flutter 2.设置iOS模拟器 3.在Flutter中创建一个Hello World应用 Google于2018年12月4日发布了Flutter 1.0,它是一款功能强大的工具 ...

  9. 如何在Android上使背景20%透明

    本文翻译自:How to make a background 20% transparent on Android 我如何使Textview的背景大约20%透明(不完全透明),背景中是否有颜色(即白色 ...

最新文章

  1. 纪念乔帮主-Jobes的生平视频
  2. pandas重置dataframe的索引(reset_index)、如果索引不匹配dataframe操作时候的问题、重置索引(不设置drop=true)远索引生成新的数据列
  3. /usr/lib/x86_64-linux-gnu/libopencv_highgui.so.2.4.9: undefined reference toTIFFIsTiled@LIBTIFF_4.0'
  4. 【原创】TimeSten安装与配置
  5. matlab scatter cdata,matlab cdatamapping
  6. Altera FPGA管脚弱上拉电阻详细设置方法
  7. LeetCode OJ:Construct Binary Tree from Preorder and Inorder Traversal(从前序以及中序遍历结果中构造二叉树)...
  8. Mybatis获取已经赋值,没有问号的Sql
  9. 【免费毕设】ASP.NET电子购物商城系统(源代码+lunwen)
  10. eclipse安装OpenExplorer插件--快速打开文件目录
  11. 手机通话断了怎么显示链接服务器,手机每次通话三分钟就自动挂断了,怎么回事啊...
  12. 机器视觉——2019试卷
  13. PDF转ONENOTE的方法
  14. 概率图模型和马尔可夫模型
  15. html让图片悬浮在网页,网页制作灰度图片悬浮效果利用HTML5和jQuery实现
  16. OS开学考前临时抱佛jio(2)
  17. 大数据获客,实时截流,真的有效果吗?
  18. 华为策略路由加等价路由_华为策略路由配置实例
  19. 企业级数据仓库:数据仓库概述;核心技术框架,数仓理论,数据通道Hive技术框架,HBase设计,系统调度,关系模式范式,ER图,维度建模,星型/雪花/星座模式,数据采集同步,业务数据埋点,数据仓库规范
  20. 程序员面试题精选100题

热门文章

  1. 如何在LINUX下利用QT调用第三方软件WPS
  2. qt读取base64图片数据并在label上显示图片
  3. 图(二)——图的遍历
  4. Python 爬虫实战5 模拟登录淘宝并获取所有订单
  5. Xshell 命令总结
  6. 编写一个Java应用程序,该应用程序包括2个类:Print类和主类E。Print 类里有一个方法output()功能是输出100 ~ 999之间的所有水仙花数(各位数字的 立方和等于这个三位数本身,如
  7. 原创:千兆光模块和百兆光收发器的兼容问题
  8. VueX里的mapGetters
  9. 【UML】 类图 图例
  10. 语句覆盖率\条件覆盖率\路径覆盖率\分支覆盖率的区别您知道吗