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