什么是 ERC20?
如果你想正确理解和使用 ERC20 转账功能,你需要知道什么是 ERC20。首先,ERC20 是同质化代币最知名、传播最广泛的标准。其目的是确保以太坊链上的所有同质化代币都具有遵循 ETH 原生代币(或硬币)规范的完全相同的品质。因此,根据其可替代性质,任何特定的 ERC20 代币将始终具有与所有其他同类 ERC20 代币相同的标准(使用相同的合约地址)。例如,这里的一个 LINK 代币将始终与那里的一个 LINK 相同。除了代表加密货币外,ERC20 代币还可以是公司股份、忠诚度积分、黄金证书等等。
此外,为了避免不必要的混淆,请记住,我们也将 ERC20 标准称为“ERC20 合约”。这种命名的原因在于智能合约使用此技术标准。因此,ERC20 智能合约标准是以太坊链上所有其他智能合约用于实现可替代代币的机制。
智能合约本质上是执行特定操作所要遵循的条件或规则。因此,ERC20 合约标准确保在创建 ERC20 代币时应用适当的规则。话虽如此,实现 ERC20 标准所要求的规则或方法的智能合约本质上是 ERC20 合约也是合乎逻辑的。如果您想了解有关 ERC20 标准的更多详细信息,请使用本文第一句话中的链接。
ERC20 转账说明
当谈到 ERC20 转账讨论时,我们必须告诉您两种类型的转账,都包含在 ERC20 智能合约中。我们有从总供应量(用于铸造代币的地址)到用户的代币“转账”和用于在任意两个用户之间转移代币的“transferFrom”。作为可能创建新的 ERC20 代币的开发人员,您需要熟悉这两种转账;然而,对于大多数 dApp 来说,您将专注于“transferFrom”功能。事实上,稍后我们还将在以太坊测试网之一上构建一个非常简单的示例 dApp ,它将向您展示使用 Moralis 转移 ETH 是多么简单。并且,完全相同的原则也可用于将 ERC20 转账合并到您的 dApp 中。
ERC20 转账
如果没有 Moralis 的 SDK,您需要使用基本的低级库(例如 Web3.js)以去中心化的方式发送资产。后者使这个看似简单的功能的编程变得极具挑战性。除其他细节外,开发人员还应了解特定智能合约的 ABI,以启动 ERC20 传输。NFT 交易也是如此。但是,有了 Moralis,您只需几行代码即可跳过所有这些复杂性。Hack,在 ETH 传输的情况下,您只需要一行代码。为了能够自己使用这个很棒的工具,请确保在继续之前创建您的免费 Moralis 帐户。
我可以从哪里转移 ERC20 代币?
现在您已经清楚了解了什么是 ERC20 转账,我们可以回答“我可以从哪里转账 ERC20 代币?”。从逻辑上讲,您不能从没有代币的地方发送代币。但是,即使地址尚未拥有 ERC20 代币,也可以接收 ERC20 代币,前提是该地址兼容 ERC20。请注意,所有以太坊钱包地址都兼容 ERC20。此外,这意味着每次 ERC20 转账都可以在两个以太坊钱包地址或兼容 ERC20 的地址之间进行。这通常包括所有兼容 EVM 的区块链。
对于 ERC20 代币转账的以太坊钱包地址,您也可以使用中心化交易所 (CEX),并通过您的账户访问其钱包地址。但是,对于区块链开发者来说,使用 CEX 通常不是一种选择。
幸运的是,有几款热门钱包提供了出色的用户体验。就 ERC20 标准而言,MetaMask拥有最佳记录并支持最广泛的代币。而且,幸运的是,它与 Moralis 完全集成。因此,人们可以将其用于以太坊身份验证并确认每次 ERC20 转移。此外,MetaMask 是一种非常重要的工具,它是使用 Moralis 进行开发的两个先决条件之一。另一个是JavaScript熟练程度。解释完这些之后,让我们看看如何转移 ERC20 代币的详细信息。
如何转移 ERC20 代币
使用 MetaMask 发送 ERC20 代币非常容易。您只需粘贴 ERC20 地址,确保您有足够的 ETH 来支付交易费,然后单击“发送”按钮。但如何在您的 dApp 内转移 ERC20 代币?为了向您展示 Moralis 实现转移集成的简单性,我们将查看一个示例项目,其中我们使用 Moralis SDK 创建一个非常简单的 dApp 用于 ETH 转移。
如前所述,Moralis 附带了业内最简洁的文档之一。它为您提供了详细的解释、示例以及您可能需要的所有代码片段。为了集成 ERC20 传输,您需要使用Moralis 文档的“发送 ETH、代币和 NFT ”部分。在那里,您将找到传输原生资产、ERC20 代币和 NFT 所需的代码行(如下所示)。
原生资产(如:ETH)转移:
ERC20 转账:
ERC721 转账:
ERC1155 转账:
从上面的代码可以看出,大多数情况下只需要指定一两个参数即可,但是对于 ERC20 转账,还需要添加接收方地址和 token 地址。
ERC20 转移 – 示例项目
为了使用 Moralis 创建 dApp,您需要完成初始设置,其中包括创建您的 Moralis 服务器。但在继续之前,让我们先看一个简单 dApp 的屏幕截图,您可以与我们一起创建这个简单的 dApp,以练习使用 Moralis SDK 进行 ETH 和 ERC20 传输选项:
初始设置——创建 Moralis 服务器
在开始以下视频中介绍的示例项目之前,请遵循以下 Moralis 设置步骤:
创建您的免费 Moralis 帐户– 如果您尚未创建免费 Moralis 帐户,请立即创建。按照介绍末尾的链接,输入您的电子邮件地址,创建密码,然后单击将发送到您电子邮件的确认链接。另一方面,如果您已经拥有 Moralis 帐户,只需登录您的管理区域即可。
创建 Moralis 服务器– 在 Moralis 管理区内,导航到“服务器”选项卡,然后单击右上角的“+ 创建新服务器”按钮(见下图)。接下来,从下拉菜单中选择最适合您需求的网络类型。为了我们的示例项目,我们将使用 Ropsten,因此选择“Testnet 服务器”选项。但是,当您准备好部署功能性 dApp 时,您需要选择“主网服务器”。
接下来,输入服务器名称(可以是任何你想要的名称),选择你的地区,选择网络类型、链,然后单击“添加实例”启动你的服务器:
访问服务器详细信息– 您需要服务器详细信息(服务器 URL 和应用程序 ID)才能访问 Moralis 的后端功能。服务器处于活动状态后,您可以通过单击“查看详细信息”按钮来访问该功能:
您将在新窗口中看到所有详细信息。您可以在那里单击复制图标,逐个复制它们:
初始化 Moralis—— 使用上一步中复制的详细信息来填充你的编码文件(如果使用最终的以太坊 dApp 样板,则为“.html”、“.js”、“.jsx”或“.env” ):
从 ETH 到 ERC20 的转账
完成实现 ETH 转账功能所需遵循的步骤。但是,我们鼓励您更进一步。具体来说,使用“ERC20 转账”代码片段来创建 ERC20 转账 dApp。如果您想更上一层楼,请尝试使用跟踪 ERC20 事件的功能。