2种ETH发币方法教程

  • 想样
  • 发布于 2024-12-27 19:01
  • 阅读 382

ETH,全称为以太币(Ethereum),是一种基于以太坊区块链平台的原生加密货币。以太坊是一个开源的公共区块链平台,具有智能合约功能,通过其专用加密货币以太币(Ether)提供去中心化的以太虚拟机(EthereumVirtualMachine)来处理点对点合约。以太

ETH,全称为以太币(Ethereum),是一种基于以太坊区块链平台的原生加密货币。以太坊是一个开源的公共区块链平台,具有智能合约功能,通过其专用加密货币以太币( Ether ) 提 供 去 中 心 化 的 以 太 虚 拟 机(Ethereum Virtual Machine)来处理点对点合约。以太坊的概念首次在2013至2014年间由一名程序员提出,旨在成为“下一代加密货币与去中心化应用平台”,并在2014年通过ICO众筹得以开始发展。

第一步:安装Hardhat

Hardhat是你的主要工具——一种能帮助你在以太坊上开发、测试和部署智能合约的开发框架

你得打开电脑上的命令行工具(比如Windows用户用的是CMD,Mac或Linux用户则是Terminal),然后输入以下命令:

npm install -g hardhat

<!--StartFragment-->

第二步:创建Hardhat项目

接下来就是搭建工作台。你需要创建一个新的文件夹

你可以叫它“我的超级代币项目”或者任何你喜欢的名字。然后,进入这个文件夹,运行:

<!--EndFragment-->

bash npx hardhat

进行初始化,启动一个向导,可以快速搭建起一个新项目。你可以按照默认设置来,或者根据自己的需求做一些调整(对于ERC-20代币,选择默认设置或自定义设置均可)

<!--StartFragment-->

第三步:安装OpenZeppelin Contracts

OpenZeppelin Contracts提供了安全且经过审核的智能合约模板,包括ERC-20标准,这是创建代币的基础。在你的项目根目录下,输入以下命令:

<!--EndFragment-->

npm install @openzeppelin/contracts

<!--StartFragment--> OK截止以上这些步骤,你的工作台就准备好了,接下来就可以开始智能合约的开发了。 <!--EndFragment--> <!--StartFragment-->

在你的Hardhat项目中使用OpenZeppelin的ERC-20模板来创建代币:

<!--EndFragment--> 首先通过pragma solidity ^0.8.0声明。

接着,你得告诉你的项目要使用OpenZeppelin提供的ERC-20合约,这样做的方式是通过import "@openzeppelin/contracts/token/ERC20/ERC20.sol";这一行代码,它让项目知道去哪里找这个合约模板。

然后,你创建自己的代币合约,让它继承自ERC-20合约,这表示你的代币将具备所有ERC-20的基本功能。你这样做:contract MyToken is ERC20 { ... },这里MyToken就是你自己的代币合约名字。

在你的代币合约里,你得设定一个构造函数,也就是代币首次创建时会发生什么。在这个函数里,你设定代币的初始供应量、名称和符号。比如这样:constructor(uint256 initialSupply) ERC20("MyToken", "MTK") { ... },这里initialSupply是你代币的初始数量,"MyToken"是代币的全名,"MTK"是代币的简称。

<!--StartFragment-->

以下是示例:

<!--EndFragment-->

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;

import "@openzeppelin/contracts/token/ERC20/ERC20.sol";

contract MyToken is ERC20 {
    constructor(uint256 initialSupply) ERC20("MyToken", "MTK") {
        _mint(msg.sender, initialSupply * (10 ** uint256(decimals())));
    }

    // 你可以添加其他函数或修改现有函数
}

三、部署操作

为了让代币合约出现在区块链网络上,你需要进行部署操作,这包括几个关键步骤:

首先,你得告诉Hardhat怎么连接到区块链网络。这在你的配置文件(hardhat.config.js或hardhat.config.ts)里完成,你得指定网络的URL,这是连接到区块链的入口;还要提供你的钱包私钥,这是用来证明你是合约部署者;最后,network_id也不能少,每个区块链网络都有一个唯一的ID,这帮助Hardhat确定目标网络。

你需要编辑你的Hardhat配置文件,以添加或更新网络配置。这个文件位于你的项目根目录下,通常命名为hardhat.config.js或hardhat.config.ts,取决于你使用的是JavaScript还是TypeScript。

在networks对象内,你需要定义一个对象来描述你想要连接的网络,例如Ropsten测试网络。这个对象应该包括以下参数:

url: 连接到Ropsten网络的RPC(远程过程调用)URL。这通常是从像Infura这样的服务提供商那里获得的。

accounts: 一个包含钱包私钥的数组,这些私钥将用于签署交易。确保这些私钥对应于拥有足够以太币支付gas费用的账户。

network_id: 网络ID,用于标识特定的以太坊网络。对于Ropsten测试网络,这个ID是3。

module.exports = {
  networks: {
    ropsten: {
      url: 'https://ropsten.infura.io/v3/YOUR_INFURA_PROJECT_ID',
      accounts: ['YOUR_PRIVATE_KEY'],
      network_id: 3,
    },
  },
  solidity: {
    compilers: [
      {
        version: "0.8.0",
      },
    ],
  },
};

接着,你得写个脚本来自动部署合约。这脚本就在scripts文件夹下的一个JavaScript文件里,你用Hardhat的API来调用合约工厂,创建一个合约实例,并把它放到区块链上。当合约部署成功,它会告诉你合约的地址,就像是给了你新店面的门牌号。

最后,你只需在命令行里运行特定的命令,就能启动部署脚本,把你的合约送到区块链网络上。记得命令里的网络名称要和你配置文件里的一致。

如果你的合约是部署在大家都知道的网络上,比如以太坊主网或某些测试网,你可能还想在Etherscan这样的区块链浏览器上验证你的合约。

这就像是给你的店面挂上招牌,让所有人都能看到它是谁开的,增加了信任感。验证过程一般需要你上传编译后的合约代码和ABI,这相当于告诉区块链浏览器,你的店面长啥样,里面卖的是什么。

编写部署脚本代码示例:(使用Hardhat的部署API来部署代币合约)

// 导入Hardhat环境,这是一个封装了Ethers.js和其他工具的环境,
// 使得在开发环境中处理以太坊智能合约变得更加容易。
const hre = require("hardhat");

// 解构赋值,从hre中获取ethers对象,ethers是与以太坊交互的主要库。
const { ethers } = hre;

// 定义一个异步函数main,这个函数将处理智能合约的部署。
async function main() {
    // 获取第一个可用的账户,这通常是你配置在Hardhat中的账号之一,
    // 这个账号将被用作部署智能合约的发起者。
    const [deployer] = await ethers.getSigners();

    // 输出部署者账号的地址,用于确认正在使用正确的账户来部署合约。
    console.log("Deploying contracts with the account:", deployer.address);

    // 使用ethers的getContractFactory方法来获取智能合约工厂。
    // 这里假设你已经在contracts文件夹下创建了一个名为MyToken的智能合约。
    const MyToken = await ethers.getContractFactory("MyToken");

    // 使用工厂创建一个新的智能合约实例,传递给构造函数的参数是1000000,
    // 这是你的代币的初始供应量,单位是最小单位(比如以太坊的wei)。
    const myToken = await MyToken.deploy(1000000);

    // 等待智能合约完全部署完毕,这可能需要一些时间,
    // 因为交易需要在网络中得到确认。
    await myToken.deployed();

    // 输出智能合约的地址,这是部署完成后,智能合约在以太坊上的唯一标识。
    console.log("MyToken deployed to:", myToken.address);
}

// 调用main函数,并处理可能发生的异常。
main()
    // 当main函数执行成功,没有抛出错误时,退出程序,返回状态码0。
    .then(() => process.exit(0))

    // 当main函数执行过程中抛出错误时,捕获错误并输出,
    // 然后退出程序,返回状态码1。
    .catch((error) => {
        console.error(error);
        process.exit(1);
    });

四、运行部署脚本

在你配置好Hardhat以连接到所需的网络之后,下一步就是运行部署脚本,将你的代币合约部署到区块链上。通过在项目根目录下运行命令来完成:

npx hardhat run scripts/deploy.js --network ropsten

在这个命令中:

npx hardhat run scripts/deploy.js 指定运行的脚本文件是deploy.js,该文件位于scripts目录下。

--network ropsten 指定了你想要部署到的网络是Ropsten测试网络。如果你的目标网络不是Ropsten,记得将ropsten替换成你的目标网络名称。

确保在运行此命令之前,你已经在hardhat.config.js或hardhat.config.ts中正确设置了网络配置。

五、验证合约的步骤

登录Etherscan:首先,你需要访问Etherscan网站并登录你的账户。如果没有账户,注册一个也很简单。

寻找验证选项:在Etherscan的界面上找到“Verify and Publish Source Code”的选项,这通常在网站的顶部菜单中可以找到。

输入合约地址:在验证页面,你需要输入你刚刚部署的智能合约的地址。这个地址在你部署合约后,部署脚本会打印出来。

选择编译器版本:因为不同的Solidity版本有不同的语法和特性,所以你需要选择与你编写的智能合约相匹配的编译器版本。

上传源代码和ABI:接下来,你需要上传你的智能合约的源代码,这是为了让其他人可以看到你合约的原始代码。同时,你还要上传ABI(Application Binary Interface),它是你的合约的接口描述,告诉外界你的合约有哪些函数和事件。

提交验证请求:最后,点击“Verify”按钮提交你的验证请求。这可能需要一些时间,因为Etherscan需要验证你的代码并将其与区块链上的合约进行比对。

完成这些步骤后,你的合约将在Etherscan上显示为已验证的状态,任何人都可以查看其源代码和ABI,包括你的代币。

还有一种方法是利用[GTokenTool]平台无需代码,非常方便,下面介绍使用方法:

<!--StartFragment-->

以太链ETH一键发币教程流程:

(1) 连接钱包

进入GTokenTool,点击右上角选择,ETH链

点击连接钱包,选择小狐狸钱包

连接成功后,就可以看到钱包地址

(2) 填写您的代币信息

点击下面的链接进入ETH发币工具界面

发币工具:<https://www.gtokentool.com/tokenfactory>

依次填写代币信息,假设我们创建一个代币叫——“GTokenTool”,填写如下:

  • 代币全称:GTokenTool
  • 代币简称:G T
  • 代币精度:18(小数点后的位数)
  • 总供应量:1000000(代币数量)

填写选项内容

  • 官网
  • 电报
  • 推特

(3) 完成

点击 “确认创建” ,在小狐狸钱包支付gas费,就完成了

(注:因为每个用户网络速度不同,支付gas费用时可能会延迟1、2秒,属正常现象。)

如有不明白或者不清楚的地方,请加入官方电报群:<https://t.me/gtokentool>

<!--EndFragment-->

  • 原创
  • 学分: 0
  • 分类: Solana
  • 标签:
点赞 0
收藏 0
分享

0 条评论

请先 登录 后评论
想样
想样
江湖只有他的大名,没有他的介绍。