r68s软路由挂载阿里云盘:如何使用Infura在
r68s软路由挂载阿里云盘:如何使用Infura在
Avalanche 已成为以太坊最强大的替代品之一,成为区块链行业中最快的智能合约平台。尽管以太坊已经牢牢确立了自己作为能够运行智能合约的领先区块链平台的地位,但它并非没有缺陷。它通过切换到权益证明共识协议解决了一些问题,例如巨大的能源消耗。然而,缩放问题仍然存在。以太坊的交易吞吐量低(大约每秒 15 笔交易),交易完成速度慢(大约 1 分钟),并且当网络处于紧张状态时,有时会产生高昂的 gas 费用。
Avalanche 是一个独立的区块链平台,旨在克服上述可扩展性的一些障碍。在本文中,我们将探讨 Avalanche 是什么以及它与其他区块链平台相比的优势。我们还将使用 Infura 从头开始在 Avalanche 上创建 ERC-20 智能合约。
什么是雪崩?
根据其网站,以最终确定时间衡量,Avalanche 是区块链行业中最快的智能合约平台。与以太坊或比特币不同,Avalanche 由多个链组成,每个链执行特定任务。
Avalanche 网络中最重要的三个链是 C-Chain、X-Chain 和 P-Chain。
C-Chain 是一个兼容 EVM 的区块链,能够运行智能合约。X-Chain 负责代币交易。最后,P-Chain 在子网之间保持共识,可以说是 Avalanche 最关键的组件。
通过子网,Avalanche 允许任何人在生态系统中启动自己的区块链实例。此外,用户可以自定义这些区块链以满足自己的需求。这些自定义区块链可以使用不同的共识协议(工作证明或股权证明),每秒提供超过 4 500 笔交易,而不会对网络的其余部分造成任何额外压力。每一个都是一个主权网络,定义了自己的规则。
子网是 Avalanche 提供的最独特的功能之一。不仅任何人都可以将自己的自定义区块链网络构建为子网,而且每个人都可以与 Avalanche 网络的其余部分完全互操作。这使得子网成为创建自定义解决方案的强大工具,同时仍然是更广泛网络的一部分。
子网图像
使用 Avalanche 的好处
通过使用子网和新颖的共识协议,Avalanche 可以提供以下好处:
理论上每秒无限事务
由于可以创建的子网数量没有上限,并且子网相当独立地运行,Avalanche 可以提供非常高的 tps 速率。
低交易
终结性 Avalanche 具有业内最短的终结时间,交易确认时间不到两秒。
Energy Efficient
Avalanche 使用权益证明来保护其网络,这使其非常节能。它还允许无法访问高端 GPU 的验证者参与。
极度去中心化
数以千计的验证者保护 Avalanche。与以太坊或比特币不同,少数矿池无法控制绝大多数网络。
使用 Avalanche 创建 ERC-20 代币
如前所述,Avalanche C-Chain 完全兼容 EVM。这意味着将项目从以太坊和其他基于 EVM 的链移植到 Avalanche 很简单。这也意味着用于以太坊开发的成熟工具,如 devnet、Truffle 和顶级 API 套件,Infura 可以在 Avalanche 上进行原生开发。
在本文的这一部分,我们将创建一个在 Avalanche 上实现加密货币的 ERC-20 合约。我们将使用 Solidity、Infura、Truffle 和 Truffle Dashboard 来实现。
第 1 步:安装 MetaMask 扩展
如果您还没有为您的浏览器安装MetaMask 扩展程序,请按照 Metamask 提出的说明创建您的钱包。
第 2 步:将 Avalanche 和 Fuji 测试网添加到 MetaMask
默认情况下,MetaMask 仅配置了以太坊主网和 Goerli 测试网。要添加 Avalanche C-Chain 和 Fuji 测试网,请按照本文档中的说明进行操作。
手动添加网络
第 3 步:从水龙头获取 AVAX
前往 Avalanche 网站上的Fuji faucet 页面,为您的钱包申请免费测试 AVAX。如果一切顺利,您应该会在 MetaMask 钱包中看到 2 AVAX。
请求 2 AVAX
2AVAX 发送
第 4 步:获取 Infura Avalanche / Fuji URL
在我们开始构建项目之前,让我们获取我们将使用的端点。转到 infura.io 并注册一个帐户或登录,然后执行以下操作:
单击Create New Key按钮并创建一个新的 Web3 API 项目。
导航到Endpoints选项卡并向下滚动到Avalanche C-Chain。
将端点从MAINNET切换到FUJI。
复制端点以供将来在此项目中使用。
Avalanche C-Chain:选择FUJI
第 5 步:安装 NPM 和 node
我们将使用 node 和 npm 构建我们的项目。如果您没有在本地计算机上安装这些,您可以在此处安装。
为确保一切正常,请运行以下命令:
$ node -v
如果一切顺利,您应该会看到 node.js 的版本号。
第 6 步:创建节点项目并安装依赖项
让我们通过运行以下命令来设置一个空的项目存储库:
$ mkdir my-crypto && cd my-crypto
$ npm init -y
我们将使用世界一流的 EVM 智能合约开发环境和测试框架 Truffle 来构建和部署我们的智能合约。通过运行安装 Truffle:
$ npm install -g truffle
我们现在可以通过运行以下命令来创建一个准系统 Truffle 项目:
$ npx truffle init
要检查一切是否正常,请运行:
$ npx truffle test
我们现在已经成功配置了 Truffle。接下来让我们安装 OpenZeppelin 合约包。这个包将使我们能够访问 ERC-20 实现(可替代令牌和加密货币的标准),在此基础上我们将构建我们的合约。
$ npm install @openzeppelin/contracts
最后,让我们安装hdwallet-provider 允许 Infura 使用源自 12 或 24 字助记符的地址代表我们签署交易的软件包。为此,我们将在步骤 1 中使用 MetaMask 钱包中的助记符。
$ npm install @truffle/hdwallet-provider
第 7 步:编写 ERC-20 智能合约
在您喜欢的代码编辑器(例如 VS Code)中打开存储库。在contracts文件夹中,创建一个名为MyCrypto.sol.
我们将编写一个非常简单的 ERC-20 合约,该合约创建一个无上限供应的代币。我们还将向我们的钱包铸造 100 个代币。将以下代码添加到文件中:
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.4;
import "@openzeppelin/contracts/token/ERC20/ERC20.sol";
contract MyCrypto is ERC20 {
constructor() ERC20("My Custom Token" "MCT") {
_mint(msg.sender 100 * 10 ** ERC20.decimals());
}
}
第 8 步:将智能合约部署到 Ganache 和 Fuji
为了将合约部署到 Fuji 测试网,我们需要一个 RPC 端点。幸运的是,Infura 提供对免费、超快的 Avalanche C-Chain 端点的访问。这是我们在第 4 步中获得的端点 URL 的来源。
接下来,在truffle-config.js文件中,将文件的内容替换为以下内容:
const HDWalletProvider = require('@truffle/hdwallet-provider');
const INFURA_API_KEY = "<-- Fuji Infura API Key -->";
const MNEMONIC = "<-- MetaMask Wallet Mnemonic or Private Key -->";
module.exports = {
networks: {
development: {
host: "127.0.0.1"
port: 8545
network_id: "*"
}
fuji: {
provider: () => new HDWalletProvider(MNEMONIC INFURA_API_KEY)
network_id: '43113'
gas: 4465030
}
}
compilers: {
solc: {
version: "0.8.13"
}
}
};
将第 2 行和第 3 行中的占位符分别替换为您的 Infura Fuji API 密钥和 MetaMask 钱包的助记符。(后者是你第一次设置钱包时给你的 12 个单词的字符串。)注意不要公开分享这个密钥或助记词。
或者,您可以使用钱包的私钥代替助记词。当您单击Export private key时,可以在 MetaMask 钱包的Account Details选项卡中找到它。
让我们通过运行确保合约正确编译:
npx truffle compile
如果没有错误,我们就可以部署合约了。有了我们的智能合约,我们现在可以编写一个简单的部署脚本。在migrations目录中,创建一个名为1_deploy_contract.js并添加以下代码的文件:
const myCryptoContract = artifacts.require("MyCrypto");
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
现在我们的代币存在于真正的区块链上,我们可以将其添加到我们的 MetaMask 钱包中。将 MetaMask 上的网络切换到 Fuji,然后在 Assets 选项卡上选择Import Token 。在这里,您可以通过输入代币的合约地址、名称和符号来导入自定义代币。
将自定义令牌添加到 MetaMask
如果一切顺利,您应该能够在Assets选项卡下看到您的代币和 100 的余额。
查看 100 的代币余额
结论
在极短的时间内,Avalanche 已成为以太坊及其生态系统最强大的替代品之一。它的子网网络承诺同时实现更快的交易和低成本。
正如我们在本文中创建的令牌所证明的那样,Avalanche 使用了以太坊使用的相同工具。因此,如果您是以太坊开发者,那么您默认也是 Avalanche 开发者。
要开始使用 Infura 在 Avalanche 上进行构建,请查看此处的文档。
有一个非常棒的一天!