Avalanche已经成为以太坊最强大的替代品之一,也是区块链行业中最快的智能合约平台。
尽管以太坊已经稳固地确立了自己作为能够运行智能合约的领先区块链平台的地位,但它并非没有缺陷。通过切换到权益证明的共识协议,解决了能耗巨大等问题。但是,缩放问题仍然存在。以太坊& # 039;s交易吞吐量低(每秒15笔左右),交易完成速度慢(1分钟左右),在网络紧张状态下,有时会产生高额的煤气费。Avalanche是一个独立的区块链平台,旨在克服上述一些可扩展性障碍。在本文中,我们将讨论什么是Avalanche以及它与其他区块链平台相比的优势。我们还将使用Infura从头开始创建雪崩上的ERC-20智能合约。什么是雪崩?根据其网站,雪崩是区块链行业最快的智能合同平台的最终时间衡量。与以太坊或比特币不同,Avalanche由多个链组成,每个链执行一个特定的任务。雪崩网络中最重要的三个链是C链、X链和P链。C-Chain是EVM兼容的区块链,能够运行智能合约。x链负责代币交易。最后,P链保持子网间的一致性,可以说是雪崩最关键的组成部分。通过子网,Avalanche允许任何人在生态系统中启动自己的区块链实例。此外,用户可以定制这些区块链,以满足自己的需求。这些自定义区块链可以使用不同的一致协议(工作证明或权益证明),每秒钟可以处理超过4,500笔交易,而不会给网络的其他部分带来任何额外的压力。每一个都是一个独立的网络,并定义了自己的规则。子网是雪崩提供的最独特的功能之一。不仅任何人都可以构建自己的定制区块链网络作为子网,而且每个人都可以与雪崩网络的其余部分完全互操作。这使得子网成为创建定制解决方案的强大工具,同时仍然是更大网络的一部分。子网使用Avalanche的好处通过使用子网和新颖的一致协议,Avalanche可以提供以下好处:理论上每秒无限的事务。由于可以创建的子网数量没有上限,并且子网独立运行,因此Avalanche可以提供非常高的tps速率。低交易终结雪崩拥有业内最短的成交时间,交易确认时间不到两秒。节能valanche使用权益凭证来保护其网络,这使其非常节能。它还允许无法访问高端GPU的验证者的参与。极度分散。成千上万的核查人员保护雪崩。不像以太坊或者比特币,少数矿池无法控制绝大多数网络。创建ERC-20代币与雪崩如前所述,雪崩C链完全兼容EVM。这意味着很容易将以太坊和其他EVM连锁店的项目移植到Avalanche。也意味着以太坊开发的成熟工具,如devnet、Truffle、top API suite都可以在Avalanche上由Infura原生开发。在本文的这一部分,我们将创建一个ERC-20协议来在Avalanche上实现加密货币。我们将使用Solidity、Infura、Truffle和Truffle Dashboard来实现它。步骤1:安装元掩码扩展。如果你还没有& # 039;如果没有为您的浏览器安装MetaMask扩展,请按照Metamask提供的说明创建您的钱包。步骤2:在MetaMask中添加Avalanche和Fuji测试网络。默认情况下,MetaMask只配置以太坊主网和Goerli测试网。要添加Avalanche C-Chain和Fuji测试网络,请遵循本文档中的说明。手动添加网络第三步:从水龙头获取AVAX进入Avalanche网站的富士水龙头页面,为你的钱包申请AVAX的免费测试。如果一切顺利,你应该会在MetaMask钱包里看到2 AVAX。请求2 AVAX2AVAX发送步骤4:获取Infura Avalanche/Fuji URL在我们开始构建项目之前,让& # 039;让我们获得将要使用的端点。
转到infura.io并注册一个帐户或登录,然后执行以下操作:单击Create New Key按钮并创建一个新的Web3 API项目。导航到端点选项卡,向下滚动到Avalanche C-Chain。将端点从MAINNET切换到FUJI。复制端点以供将来在此项目中使用。雪崩C链:选择富士步骤5:安装npm和节点我们将使用节点和NPM来建立我们的项目。如果你还没有& # 039;如果您没有在本地计算机上安装这些软件,您可以在这里安装。为了确保一切正常,请运行以下命令:$ node -v如果一切顺利,您应该会看到node.js的版本号步骤6:创建节点项目并安装依赖项Let & # 039s通过运行以下命令建立一个空的项目存储库:$ mkdir my-cryptocd my-crypto $ npminit-y我们将使用Truffle(世界一流的EVM智能合约开发环境和测试框架)来构建和部署我们的智能合约。通过运行$ npm Install-g Truffle安装Truffle我们现在可以通过运行以下命令创建一个准系统Truffle项目:$ npx truffle init要检查一切是否正常,请运行:$ npx truffle test我们现在已经成功配置了Truffle。接下来,让& # 039;安装OpenZeppelin合同包。这个包将使我们能够访问ERC-20实现(替代令牌和加密货币的标准),在此基础上我们将建立我们的合同。$ npminstall @ open zeppelin/contracts最后,让& # 039;安装一个软件包,hdwallet-provider允许Infura使用从12或24个单词的助记符中获得的地址代表我们签署交易。为此,我们将在步骤1中使用MetaMask wallet中的助记符。$ npminstall @ truffle/HD wallet-provider第七步:编写ERC-20智能合约,在自己喜欢的代码编辑器(如VS Code)中打开存储库。在合同文件夹中,创建一个名为MyCrypto.sol的合同。我们将编写一个非常简单的ERC-20合同,创建一个无限供应的令牌。我们还会在钱包里投入100枚代币。将以下代码添加到文件中://spdx-license-identifier:MIT pragma solidity 0 . 8 . 4;进口& # 039;@ open zeppelin/contracts/token/ERC 20/ERC 20 . sol & # 039;合约MyCrypto是ERC 20 { constructor()ERC 20(& # 039;我的自定义令牌& # 039; 'MCT & # 039;){ _mint(msg.sender,100 * 10 * * ERC 20 . decimals());}}第八步:将智能合约部署到Ganache和Fuji。为了将合同部署到Fuji test network,我们需要一个RPC端点。幸运的是,Infura提供了免费和超快速的雪崩C链端点。这是我们在步骤4中获得的端点URL的来源。接下来,在truffle-config.js文件中,将文件内容替换为以下内容:consthdWalletProvider=require(& # 039;@ truffle/HD wallet-provider & # 039;);const INFURA _ API _ KEY=& # 039-富士Infura API密钥-& # 039;const助记符=& # 039;-元掩码钱包助记符或私钥-& # 039;module . exports={ networks:{ development:{ host:& # 039;127.0.0.1'端口:8545,网络标识:& # 039;*'},fuji:{ provider:()=new hdwallet provider(助记符,INFURA_API_KEY),network _ id:& # 039;43113'gas: 4465030 } },编译器:{ solc:{ version:& # 039;0.8.13' } }};分别用Infura Fuji API密钥和MetaMask wallet的助记符替换第2行和第3行中的占位符。(后者是你第一次设置钱包时给你的12字字符串。注意不要公开分享这个密钥或助记符。或者,你可以用钱包的私钥代替助记符。当您单击导出私钥时,您可以在MetaMask wallet的帐户详细信息选项卡中找到它。让& # 039;通过运行:npx truffle compile来确保契约正确编译。如果没有错误,我们就可以部署契约了。有了智能合同,我们现在可以编写一个简单的部署脚本。在迁移目录中,创建一个名为1_deploy_contract.js的文件,并添加以下代码:constmycryptocract=artifacts . require(& # 039;MyCrypto & # 039);module . exports=function(deployer){ deployer . deploy(myCryptoContract);};现在,在我们部署到Fuji网络之前,我们应该确保它的部署没有问题。
我们可以通过首先将我们的契约部署到本地Ganache区块链实例来做到这一点。要使ganache运行,请打开一个新的终端并输入以下命令:Ganache现在,我们可以通过键入以下命令来测试到Ganache的部署:npx Truffle Migrate-Network Development这应该会在我们的控制台中产生类似于以下内容的输出:输出的屏幕截图现在,我们知道我们的合同将被成功部署,我们已经准备好将我们的合同部署到Fuji。从终端运行以下命令:npx truffle migrate – network Fuji。如果一切顺利,您的终端将在fuji网络上显示交易散列和已部署合同的地址。前往Avalanche C-Chain TestNet Explorer并搜索您的合同地址以查看您的合同。avalanche C-Chain TestNet Explorer事务详细信息步骤9:将令牌添加到元掩码。既然我们的令牌存在于真实的区块链中,我们可以将它添加到我们的元掩码钱包中。将MetaMask上的网络切换到Fuji,然后在“资产”选项卡上选择“导入令牌”。在这里,您可以通过输入合同地址、名称和符号来导入自定义令牌。如果一切顺利,您应该能够在Assets选项卡下看到您的令牌和余额100。检查100的代币余额。结论在很短的时间内,雪崩已经成为以太坊及其生态系统最强大的替代品之一。它的子网网络承诺同时实现更快的交易和更低的成本。正如我们在本文中创建的令牌所证明的,Avalanche使用以太坊使用的相同工具。所以,如果你是以太坊开发者,默认也是雪崩开发者。要开始使用Infura构建Avalanche,请查看这里的文档。祝您愉快!