Khóa học blockchain

Deploy & Test ERC20 Token với Rinkeby Testnet

0 phút đọc

Trong lập trình Smart Contract và phát triển blockchain, việc triển khai và kiểm thử token ERC20 trên một mạng lưới thử nghiệm như Rinkeby là một bước quan trọng. Điều này giúp nhà phát triển hiểu rõ cách token hoạt động trước khi triển khai chính thức trên mạng lưới Ethereum. Bài viết này sẽ hướng dẫn chi tiết cách triển khai và kiểm thử một token ERC20 sử dụng Rinkeby Testnet.

Chuẩn bị

Trước khi bắt đầu, bạn cần chuẩn bị một số công cụ và tài nguyên sau:

  • Node.js và npm: Cài đặt Node.js và npm từ trang web chính thức.
  • Truffle Framework: Một framework phổ biến để phát triển Ethereum Smart Contracts. Cài đặt bằng lệnh npm install -g truffle.
  • MetaMask: Một ví Ethereum có thể tương tác với Rinkeby Testnet. Cài đặt MetaMask như một tiện ích mở rộng trên trình duyệt.
  • Ether từ Rinkeby Faucet: Để triển khai contract, bạn cần một lượng nhỏ Ether từ Rinkeby. Bạn có thể yêu cầu Ether miễn phí từ Rinkeby Faucet.

Bước 1: Tạo Project với Truffle

  1. Khởi tạo Project: Tạo một thư mục mới cho dự án và khởi tạo Truffle bằng lệnh truffle init.
  2. Cài đặt OpenZeppelin: Sử dụng OpenZeppelin để tạo token ERC20 một cách dễ dàng. Cài đặt bằng lệnh npm install @openzeppelin/contracts.

Bước 2: Viết Smart Contract

Tạo một file mới trong thư mục contracts với tên MyToken.sol và thêm mã sau:

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

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

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

Bước 3: Cấu hình Truffle

Chỉnh sửa file truffle-config.js để thêm cấu hình cho Rinkeby Testnet. Bạn sẽ cần sử dụng MetaMask để lấy thông tin ví và Infura cho việc kết nối với Rinkeby.

const HDWalletProvider = require('@truffle/hdwallet-provider');
const infuraKey = "INFURA_PROJECT_ID";
const fs = require('fs');
const mnemonic = fs.readFileSync(".secret").toString().trim();

module.exports = {
  networks: {
    rinkeby: {
      provider: () => new HDWalletProvider(mnemonic, `https://rinkeby.infura.io/v3/$infuraKey`),
      network_id: 4,       // Rinkeby's id
      gas: 5500000,        // Rinkeby has a lower block limit than mainnet
      confirmations: 2,    // # of confs to wait between deployments. (default: 0)
      timeoutBlocks: 200,  // # of blocks before a deployment times out  (minimum/default: 50)
      skipDryRun: true     // Skip dry run before migrations? (default: false for public nets )
    },
  },
  // Truffle's other configurations...
};

Bước 4: Triển khai Contract

  1. Tạo Migration: Tạo một file migration mới trong thư mục migrations để triển khai MyToken.
  2. Triển khai: Sử dụng lệnh truffle migrate --network rinkeby để triển khai token lên Rinkeby Testnet.

Bước 5: Kiểm Thử Token

Sau khi triển khai, bạn có thể sử dụng Truffle Console hoặc MetaMask để tương tác và kiểm thử token:

  • Truffle Console: Sử dụng truffle console --network rinkeby để tương tác với contract.
  • Kiểm tra Số Dư: Sử dụng hàm balanceOf để kiểm tra số dư token của một địa chỉ.
  • Chuyển Token: Sử dụng hàm transfer để chuyển token giữa các địa chỉ.

Kết luận

Triển khai và kiểm thử token ERC20 trên Rinkeby Testnet là một bước quan trọng trong quá trình phát triển Smart Contract, giúp đảm bảo tính năng và an toàn của token trước khi triển khai chính thức. Qua bài viết này, bạn đã có cái nhìn tổng quan về quy trình triển khai và kiểm thử token ERC20, từ việc chuẩn bị môi trường phát triển đến việc triển khai và tương tác với token trên mạng lưới thử nghiệm.

Avatar
Được viết bởi

TechMely Team

Gợi ý câu hỏi phỏng vấn

entry

Giải thích các kiểu test thường dùng trong Microservices?

entry

Giải thích cách microservice giao tiếp với các phần khác?

entry

Những lợi ích của Laravel so với các framework PHP khác là gì?

Bình luận

Chưa có bình luận nào

Chưa có bình luận nào

Khoá học javascript từ cơ bản đến chuyên sâuYoutube Techmely