多图解析本地发币流程,简单易懂(仅供学习,炒币绕行)

1,064 阅读3分钟
仅供学习和交流,坚决反对炒币,坚决支持国家政策
仅供学习和交流,坚决反对炒币,坚决支持国家政策
仅供学习和交流,坚决反对炒币,坚决支持国家政策

基本知识和工具

准备工作

  • 安装 nodejs nodejs.org/en/
  • 安装 metamask 谷歌浏览器扩展
  • 安装 yarn

搭建本地network

  1. 创建一个项目文件夹JoeTokenProject(名字随意取)

    mkdir JoeTokenProject && cd JoeTokenProject
    yarn add hardhat
    
  1. 创建一个 hardhat 项目

    yarn hardhat

    选择第一项,然后回车,回车,回车。。。有兴趣的同学可以看下其他选项。

1.png

  1. 启动本地节点,我们会得到20个测试账号,每个账号都有10000ETH(当然是测试专用)。在本地测试网络id为:chainId: 31337

    yarn hardhat node
    ---------------------------
    Started HTTP and WebSocket JSON-RPC server at http://127.0.0.1:8545/
    counts
    ========
    ​
    WARNING: These accounts, and their private keys, are publicly known.
    Any funds sent to them on Mainnet or any other live network WILL BE LOST.
    ​
    Account #0: 0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266 (10000 ETH)
    Private Key: 0xac0974bec39a17e36ba4a6b4d238ff944bacb478cbed5efcae784d7bf4f2ff80
    ​
    Account #1: 0x70997970C51812dc3A010C7d01b50e0d17dc79C8 (10000 ETH)
    Private Key: 0x59c6995e998f97a5a0044966f0945389dc9e86dae88c7a8412f4603b6b78690d
    ...
    

好了现在已经在本地搭建了一个network,下面我们用metamask钱包链接本地的network

Metamask

  1. 将metamask配置加入 local testnet

2.png

如果没有此网络,请点击 Add Network 添加

3.png
  1. 点击头像--> Import Account --> 添加密钥(Private Key) 即可看到账号及余额

    PS: 默认的Chain ID为 1337,如果找不到测试账户或0ETH,请手动改成31337再试一次

4.png

恭喜!!到此我们已经搭建并验证本地network搭建成功。

ECR20合约

请打开著名的 Remix IDE: remix.ethereum.org/

  1. 点击➕加号
5.png
  1. 选择 OpenZeppelin ERC20, Remix会自动生成合约模版并编译
6.png
  1. 在SampleERC20.sol模版中加入以下代码。这就会给部署合约的钱包打上一大笔不值钱的token。然后别忘了点击编译(Complie SampleERC20.sol)确保代码被编译。

     _mint(msg.sender, 10000*1e18);
    
7.png 8.png
  1. 如图操作
  • ENVIRONMENT 选择 Injected Provider - Metamask;
  • ACCOUNT 选择hardhat中的账户;
  • CONTACT 选择 SampleERC20.sol ;
  • Deploy后写入 tokenName 和 tokenSymbol
9.png
  1. Metamask confirm
10.png
  1. 在Remix 控制台打印部署成功命令
11.png
  1. 部署的合约地址,请注意每次deploy后的地址不同
12.png
  1. 复制部署后的地址,到钱包里(import token).

13.png
  1. 请确认您已收到10000个JOE token

14.png

部署到测试网络

  1. 首先切换钱包网络,并领取测试token(faucet.egorfine.com/,注意! Ropsten will be shut down in Q4 2022.)
15.png
  1. 确保此处为 Ropsten(3) network
16.png
  • 同在本地部署一样,填入token name 和 token symbol
  • 点击Deploy后,在钱包confirm。稍等片刻后就会讲此合约部署到 Ropsten测试网络
  • 在此网站查看已部署ERC20合约ropsten.etherscan.io/
17.png

总结我们做了什么

  1. 我们在本地用hardhat启动了一个network
  2. 编写了一个简单的SampleERC20智能合约
  3. 将SampleERC20部署到了本地及测试网络

一步步走来其实还是蛮简单的,只是涉及的知识和工具比较多,要深入学习需要花些时间。今天只是用了这些工具的皮毛,并未深入探讨,但已经足够我们了解发币流程。接下来就是深入了解每个工具及web3底层的逻辑。