วิธีสร้างสกุลเงินดิจิทัลของคุณเอง - ตัวอย่างโดยใช้ ERC-20

มือใหม่9/29/2024, 8:29:01 AM
เนื่องจากเทคโนโลยีบล็อกเชนและสกุลเงินดิจิทัลมีวิวัฒนาการอย่างรวดเร็วหลายคนต้องการเรียนรู้วิธีออกสกุลเงินดิจิทัลของตนเอง บทช่วยสอนนี้มีจุดมุ่งหมายเพื่อให้คําแนะนําที่ตรงไปตรงมาสําหรับผู้เริ่มต้นในการสร้างและออกโทเค็น ERC20 ของตนเองบนเครือข่ายทดสอบ Ethereum เราจะเริ่มต้นด้วยการอธิบายว่าโทเค็น ERC20 คืออะไรพูดคุยเกี่ยวกับมาตรฐานและความสําคัญจากนั้นแนะนําผู้อ่านผ่านแต่ละขั้นตอนของกระบวนการออก ขั้นตอนสําคัญ ได้แก่ การตั้งค่ากระเป๋าเงิน Web3 การรับ ETH ทดสอบการเขียนสัญญาอัจฉริยะและการปรับใช้ ด้วยการใช้ประโยชน์จากไลบรารี OpenZeppelin เราจะแสดงวิธีการสร้างโทเค็นที่ตรงตามมาตรฐาน ERC20 อย่างปลอดภัยและมีประสิทธิภาพ บทช่วยสอนนี้ไม่เพียง แต่ช่วยให้ผู้อ่านเข้าใจด้านเทคนิคของ cryptocurrencies แต่ยังให้ประสบการณ์จริงวางรากฐานสําหรับการสํารวจโลกบล็อกเชนที่ลึกซึ้งยิ่งขึ้น ไม่ว่าคุณจะเป็นมือใหม่ที่อยากรู้เกี่ยวกับเทคโนโลยีบล็อกเชนหรือนักพัฒนาที่ต้องการทําความเข้าใจกระบวนการออกสกุลเงินดิจิทัลบทช่วยสอนนี้จะให้ ess

ภาคภูมิใจในด้านบล็อกเชนได้รับความสนใจอย่างมากจากการพัฒนาต่อเนื่องในด้านบล็อกเชน บิตคอยน์ อีเธอเรียม สกุลเงินดิจิทัล และ ICO สิ่งนี้เป็นเหตุให้ฉันเขียนบทแนะนำนี้ ซึ่งเป็นบทแรกในชุดบทความที่ออกแบบมาเพื่อช่วยให้บุคคลทั่วไปเข้าใจว่าจะใช้เทคโนโลยีบล็อกเชนและสกุลเงินดิจิทัลได้อย่างไรเพื่อสร้างแอปพลิเคชันที่มีผลงาน

ในบทแนะนำนี้ฉันมีเป้าหมายที่จะแนะนำคุณผ่านกระบวนการทั้งหมด ตั้งแต่การตั้งค่าบัญชีของคุณไปจนถึงการออกโทเค็นครั้งแรกของคุณบนเครือข่ายทดสอบ Ethereum โดยใช้สัญญาอัจฉริยะเดียวและMetamask. โทเค็นนี้จะทำหน้าที่เป็นโทเค็น ERC20 มาตรฐานบนเครือข่ายทดสอบ Ethereum ที่มีคุณสมบัติหลักที่สามารถใช้เป็นพื้นฐานหลากหลายสำหรับแอปพลิเคชันที่ซับซ้อนกว่าการโอนง่ายๆ

ก่อนที่คุณจะเริ่มต้น

ก่อนที่คุณจะสร้างโทเค็น ERC20 ของคุณเอง คุณต้องเตรียมสิ่งต่อไปนี้:

  1. กระเป๋า Web3 (เช่น MetaMask, Phantom หรือกระเป๋าใดก็ได้ที่สามารถใช้งานร่วมกับ WalletConnect)
  2. ทดสอบ ETH (คุณสามารถรับโทเค็นทดสอบจาก ก๊อกเหรียญเฟธเจอร์ Sepolia ) - โปรดทราบว่าขั้นตอนนี้ต้องเสียค่าธรรมเนียมแก๊ส
  3. เบราว์เซอร์เว็บ (แนะนำให้ใช้ Chrome)

ERC20 Token คืออะไร?

ERC หมายถึง Ethereum Request for Comment โดยตัวเลข 20 คือหมายเลขการร้องขอแนะนำ วัตถุประสงค์ของ ERC-20 คือเพิ่มประสิทธิภาพให้กับเครือข่าย Ethereum นั้นเอง มันเป็นหนึ่งในมาตรฐาน ERC ที่สำคัญที่สุดและเป็นกรอบทางเทคนิคสำหรับการสร้างโทเค็นบนเหรียญบล็อกเชน Ethereum ผ่านสมาร์ทคอนแทร็กต์ ERC-20 ระบุกฎเกณฑ์ชุดหนึ่งที่โทเค็นที่พื้นฐานบน Ethereum ต้องปฏิบัติตาม กำหนดให้เป็นสินทรัพย์ที่พื้นฐานบนเหรียญบล็อกเชน ที่สามารถส่งและรับได้ มีมูลค่า ทำงานบนเหรียญบล็อกเชน Ethereum และเสียค่าแก็สในการทำธุรกรรม

ในปี 2015 นักพัฒนาชาวเยอรมันชื่อ Fabian Vogelsteller ได้มีส่วนร่วมในประวัติศาสตร์ของ Ethereum โดยการแสดงความคิดเห็นบนหน้า GitHub ของโครงการนี้ นี่เป็นความคิดเห็นครั้งที่ 20 ของเขา ในระหว่างที่เขากล่าวถึง ERC-20 ครั้งแรก ซึ่งเป็นการแนะนำในการขยายของ Ethereum รวดเร็ว ต่อมาก็มีการนำเสนอ ERC-20 เป็นตัวแก้ไขของปัญหาความยืดหยุ่นของเครือข่าย

การยอมรับและการนำมาใช้งานอย่างเป็นทางการของ ERC-20 ในฐานะเสนอแนะการปรับปรุง Ethereum (EIP-20) ที่ร่วมมือกับ Vogelsteller และ Ethereum ร่วมก่อตั้ง Vitalik Buterin เกิดขึ้นที่สิ้นปี 2017

ก่อนมาตรฐาน ERC-20 ผู้สร้างโทเค็นต้องเริ่มต้นจากศูนย์ซึ่งส่งผลให้มีความไม่สม่ำเสมอในต่างๆโทเค็น นักพัฒนาต้องเข้าใจโค้ดสมาร์ทคอนแทรคของโทเค็นอื่นๆอย่างเต็มที่เนื่องจากขาดโครงสร้างมาตรฐาน ทำให้กระเป๋าเงินและพื้นที่ซื้อขายต้องตรวจสอบโค้ดของโทเค็นแต่ละตัวเพื่อรองรับ การเพิ่มโทเค็นใหม่ในแอปพลิเคชันกลายเป็นงานที่ซับซ้อน

ด้วยการเปิดตัวมาตรฐาน ERC-20 คุณสมบัติที่เป็นมาตรฐานการทํางานร่วมกันและความสามารถในการถ่ายโอนทําให้กระเป๋าเงินและการแลกเปลี่ยนสามารถรวมโทเค็นหลายตัวและอํานวยความสะดวกในการแลกเปลี่ยนระหว่างกันได้อย่างง่ายดาย สัญญาอัจฉริยะที่ใช้ในโทเค็น ERC-20 สามารถดําเนินการและบังคับใช้ธุรกรรมทางการเงินที่ซับซ้อนได้โดยอัตโนมัติ ซึ่งจําเป็นสําหรับแพลตฟอร์ม DeFi บนแพลตฟอร์มเหล่านี้โทเค็นสามารถแสดงเครื่องมือทางการเงินต่างๆเช่นเงินกู้หรือหุ้นในกลุ่มสภาพคล่อง

มาตรฐาน ERC-20 ระบุหกฟังก์ชั่นบังคับและสามฟังก์ชั่นที่เลือกได้ที่สัญญาอัจฉริยะต้องดำเนินการด้วย

นี่คือฟังก์ชันที่ต้องการและคำอธิบายของคุณลักษณะ:

  • totalSupply: วิธีที่กำหนดจำนวนรวมของโทเค็น; หากถึงขีดจำกัดนี้ สัญญาอัจฉริยะจะไม่สร้างโทเค็นใหม่
  • balanceOf: วิธีที่คืนค่าจำนวนโทเค็นที่ที่อยู่กระเป๋าเฉพาะถือ
  • transfer: วิธีที่หักจำนวนเหรียญที่ระบุจากจำนวนทั้งหมดและจัดสรรให้กับผู้ใช้
  • transferFrom: วิธีทางเลือกสำหรับการโอนโทเค็นระหว่างผู้ใช้
  • approve: วิธีการตรวจสอบว่าสัญญาอัจฉริยะอนุญาตให้จัดสรรจำนวนเหรียญที่กำหนดไว้ให้กับผู้ใช้ โดยพิจารณาจากการจำหน่ายทั้งหมด
  • allowance: คล้ายกับวิธีการอนุญาต แต่ตรวจสอบว่าผู้ใช้คนหนึ่งมียอดเงินคงเหลือเพียงพอในการส่งจำนวนเหรียญที่กำหนดให้กับผู้ใช้อีกคนหนึ่งหรือไม่

นอกจากฟังก์ชันพื้นฐานที่กล่าวถึงไว้ก่อนหน้านี้ ยังมีฟังก์ชันทางเลือกเพิ่มเติมที่สามารถเพิ่มประสิทธิภาพการใช้งานโทเค็น

  • name: วิธีที่คืนชื่อโทเค็น
  • symbol: วิธีที่ส่งคืนสัญลักษณ์โทเค็น
  • decimals: วิธีที่แสดงถึงจำนวนตำแหน่งทศนิยมสำหรับโทเค็น นี้กำหนดหน่วยขนาดเล็กที่สุดของโทเค็น ตัวอย่างเช่น หากโทเค็น ERC-20 มีค่าทศนิยมเป็น 6 หมายความว่าโทเค็นสามารถแบ่งแยกได้สูงสุดถึงหกตำแหน่งทศนิยม

หากคุณคุ้นเคยกับโปรแกรมเชิงวัตถุ คุณสามารถคิดเกี่ยวกับ ERC-20 เป็นอินเตอร์เฟซ หากต้องการทำให้โทเค็นของคุณกลายเป็นโทเค็น ERC-20 คุณต้องปรับใช้อินเตอร์เฟซ ERC-20 ซึ่งต้องการให้คุณรวมฟังก์ชันหลักหกฟังก์ชันเหล่านี้ โดยพื้นฐานแล้ว อินเตอร์เฟซ ERC-20 ทำหน้าที่เป็นแม่แบบ และสัญญาใดๆ ที่ต้องการจะจัดลำดับเป็นโทเค็น ERC-20 จะต้องออกแบบและปรับใช้ฟังก์ชันของตนโดยใช้แม่แบบนี้

เริ่มสร้างโทเค็น ERC20 ของคุณเอง

รับ ETH ทดสอบ

เพื่อเริ่มต้นการ implement สัญญาของคุณบนเครือข่ายทดสอบ Ethereum Sepolia คุณต้องทำการติดตั้ง MetaMaskส่วนขยายบราวเซอร์หรือใช้วอลเล็ต Web3 อื่น ๆ เช่น Phantom หรือวอลเล็ตใด ๆ ที่เข้ากันได้กับ WalletConnect หลังจากตั้งค่าวอลเล็ตของคุณแล้ว คุณจะต้องได้รับ ETH ทดสอบบางส่วน คุณสามารถได้รับจากEthereum Sepolia Faucetซึ่งออกแบบมาเฉพาะสำหรับ Ethereum Sepolia test network การรับ ETH เพื่อทดสอบเป็นเรื่องง่ายดาย: แค่ไปที่เว็บไซต์ faucet, เชื่อมต่อที่อยู่กระเป๋าเงินหรือป้อนที่อยู่ของคุณและทำตามคำแนะนำ คุณยังสามารถแชร์ทวีตเพื่อรับรางวัลพิเศษได้ หรือคุณสามารถเลือกตัวเลือก “ไม่ขอบคุณ แค่ส่ง 0.05 ETH ถึงฉันได้เลย” เพื่อรับ ETH ทดสอบของคุณโดยตรง อย่างไรก็ตาม โปรดจำไว้ว่าคุณต้องมีอย่างน้อย 0.001 ETH ในบัญชี Ethereum mainnet เพื่อใช้ QuickNode test coin faucet

เขียนสมาร์ทคอนแทรก

ในปัจจุบันมีโทเค็นจำนวนมากที่เป็นไปตามมาตรฐาน ERC20 ที่ทำงานบนบล็อกเชน Ethereum ซึ่งได้รับการพัฒนาโดยกลุ่มต่าง ๆ การประยุกต์ใช้เหล่านี้แตกต่างกัน บางส่วนเน้นการลดค่าแก๊สในขณะที่อื่นส่วนใหญ่เน้นการเพิ่มความปลอดภัย เพื่อสร้างโทเค็นที่แข็งแรงและปลอดภัย นักพัฒนาจำนวนมากเลือกใช้เฟรมเวิร์ค ERC20 ที่น่าเชื่อถือและปลอดภัยของ OpenZeppelin เป็นที่ทดสอบอย่างละเอียดและรีวิวจากชุมชนของสมุดสัญญาอัจฉริยะที่ใช้ซ้ำได้ที่ประกอบด้วยเฟรมเวิร์คโทเค็น ERC20 ที่เป็นประสิทธิภาพและปลอดภัย มันรับประกันว่าการพัฒนาโทเค็นเป็นไปตามมาตรฐานและปลอดภัย และเป็นตัวเลือกสำหรับนักพัฒนาโทเค็นหลายคนในปัจจุบัน

เพื่อความสะดวกและความปลอดภัย เราจะใช้ OpenZeppelin ERC-20สัญญาเพื่อสร้างโทเค็นของเราในคู่มือนี้ ด้วย OpenZeppelin เราไม่จำเป็นต้องเขียนอินเตอร์เฟซ ERC-20 ทั้งหมด เราเพียงแค่นำเข้าสัญญาไลบรารีและใช้ฟังก์ชันของมัน เช่นในที่นี้เราจะออก 1 ล้านโทเค็น ERC-20 ชื่อ MNT

ต่อมา ไปที่Ethereum Remixใน IDE (สภาพแวดล้อมการพัฒนาที่รวมอยู่ของ Ethereum ที่รองรับภาษาโปรแกรม Solidity) และสร้างไฟล์ Solidity ใหม่ เช่น - MyNewToken.sol

  1. สร้างไฟล์ใหม่ใน Ethereum Remix IDE

โปรดวางโค้ดต่อไปนี้ลงในสคริปต์ Solidity ใหม่ของคุณ:

SPDX-ใบอนุญาต-ตัวระบุ: MIT pragma solidity ^0.8.20;

นําเข้า "@openzeppelin/contracts/token/ERC20/ERC20.sol”;

contract MyNewToken คือ ERC20 { constructor() ERC20("MyNewToken", "MNT") { _mint(msg.sender, 1000000 (10 *uint256(decimals()))); } }

  1. คัดลอกและวางโค้ดด้านบนสำหรับสัญญาฉบับอัจฉริยะในการออกสินทรัพย์

นี่คือสิ่งที่โค้ดทำ:

คำอธิบาย SPDX-License-Identifier ระบุให้เห็นถึงสัญญาอนุญาตภายใต้ที่สัญญากำหนด

คำสั่ง Pragma ระบุเวอร์ชันของคอมไพเลอร์ที่จะใช้

สัญญา ERC20 ถูกนำเข้ามาจาก OpenZeppelin และเป็นพื้นฐานสำหรับโทเค็นของคุณ

MyNewToken เป็นชื่อของสัญญาของคุณ ที่ได้รับการรับช่วงจากสัญญา ERC20

constructor function จะเริ่มต้นเหรียญของคุณด้วยชื่อ ("MyNewToken") และสัญลักษณ์ ("MNT")

ฟังก์ชัน _mint ภายใน constructor สร้างการจัดหาเหรียญเริ่มต้น ในกรณีนี้มีการจัดหาเหรียญ 1 ล้านเหรียญและมอบหมายให้กับที่อยู่ที่ติดตั้งสัญญา จำนวนเหรียญทั้งหมดจะถูกปรับตามค่าทศนิยมซึ่งมีค่าเริ่มต้นเป็น 18 ใน OpenZeppelin การนำไปใช้งาน

เนื่องจากเรานำเข้าสัญญาอัจฉริยะ ERC20 จาก OpenZeppelin และสัญญา MyNewToken ได้รับการสืบทอดมาจากมัน ไม่จำเป็นต้องนิยามฟังก์ชั่นทั้งหมดของเราเอง ฟังก์ชั่นทั้งหมดที่นิยามไว้ในสัญญา ERC20 ถูกรวมอยู่ในสัญญา MyNewToken หากคุณต้องการดูรหัส ERC-20 ที่เป็นรูปแบบที่ละเอียดมากขึ้น คุณสามารถอ้างอิงได้ที่ไฟล์นี้.

ตอนนี้ใช้เวลาสักครู่เพื่อปรับแต่งสัญญาอัจฉริยะให้เหมาะกับความต้องการของคุณ คุณยังสามารถเปลี่ยนชื่อโทเค็นและสัญลักษณ์ได้โดยแก้ไขส่วนนี้: ERC20("MyNewToken", "MNT")

ปรับใช้สัญญาอัจฉริยะ

เมื่อคุณได้ปรับแต่งสัญญาฉลากของคุณแล้ว ขั้นตอนต่อไปคือการคอมไพล์

ขั้นตอนที่ 1: คลิกที่ปุ่ม Solidity Compiler ตรวจสอบเวอร์ชันคอมไพเลอร์และตรวจสอบว่าเลือกสัญญาถูกต้องแล้ว โดยเนื่องจากสมาร์ทคอนแทร็กของคุณรวมถึงไลน์ pragma solidity ^0.8.20; เวอร์ชันคอมไพเลอร์ควรเป็นอย่างน้อย 0.8.20 ถัดจากนั้นคลิกที่ปุ่ม Compile MyNewToken.sol หากทุกอย่างเป็นที่เรียบร้อยแล้ว คุณจะเห็นเครื่องหมายตรวจสอบสีเขียวบนปุ่มคอมไพล์

  1. คอมไพล์สมาร์ทคอนแทรค

  1. คอมไพล์สำเร็จ (เครื่องหมายตรวจสอบสีเขียว)

ขั้นตอนที่ 2: นำทางไปที่แท็บ Deploy & Run Transactions ในส่วน Environment เลือกตัวเลือก Injected Provider สำหรับการฉีดยางในการใช้งานก่อนไปเตรียม MetaMask ให้ตั้งค่าเป็นเครือข่ายทดสอบ Sepolia และเลือกสัญญา MyNewToken สำหรับการใช้งาน ในที่สุดคลิกปุ่ม Deploy เพื่อใช้งานสัญญาของคุณ

  1. เลือกผู้ให้บริการแบบฉีดเป็นกระเป๋าเงิน Web3 (MetaMask) ในพื้นที่ของคุณ

  1. เชื่อมต่อกระเป๋า Web3 ของคุณ

  1. ยืนยันการปรับปรุงสัญญาและเลือกเครือข่าย (นี้เป็นเครือข่ายทดสอบ)

หากคุณไม่แน่ใจว่าจะสลับเป็นเครือข่ายใด ๆ ให้เปิดส่วนขยาย MetaMask คลิกที่ตัวเลือกเครือข่ายที่มุมบนซ้ายและเลือก Sepolia หากไม่มีให้ตรวจสอบว่าเปิดใช้งานตัวเลือกเครือข่ายทดสอบหรือไม่ สำหรับคำแนะนำในการเพิ่ม QuickNode RPC URL ใน MetaMask โปรดตรวจสอบ คู่มือ QuickNode.

หมายเหตุ: คุณจะต้องเรียกเก็บค่าธรรมเนียม GAS เพื่อแลกเปลี่ยน ETH ทดสอบ

ขั้นตอนที่ 3: ยืนยันการทำธุรกรรมใน MetaMask:

Congratulations! สัญญาโทเค็นของคุณได้ถูกติดตั้งบนเครือข่ายทดสอบ Ethereum Sepolia อย่างประสบความสำเร็จแล้ว และคุณเป็นเจ้าของโทเค็นแรกของคุณแล้ว!

Author: Deniz
Translator: Paine
Reviewer(s): KOWEI、Edward、Elisa
Translation Reviewer(s): Ashely
* The information is not intended to be and does not constitute financial advice or any other recommendation of any sort offered or endorsed by Gate.io.
* This article may not be reproduced, transmitted or copied without referencing Gate.io. Contravention is an infringement of Copyright Act and may be subject to legal action.

วิธีสร้างสกุลเงินดิจิทัลของคุณเอง - ตัวอย่างโดยใช้ ERC-20

มือใหม่9/29/2024, 8:29:01 AM
เนื่องจากเทคโนโลยีบล็อกเชนและสกุลเงินดิจิทัลมีวิวัฒนาการอย่างรวดเร็วหลายคนต้องการเรียนรู้วิธีออกสกุลเงินดิจิทัลของตนเอง บทช่วยสอนนี้มีจุดมุ่งหมายเพื่อให้คําแนะนําที่ตรงไปตรงมาสําหรับผู้เริ่มต้นในการสร้างและออกโทเค็น ERC20 ของตนเองบนเครือข่ายทดสอบ Ethereum เราจะเริ่มต้นด้วยการอธิบายว่าโทเค็น ERC20 คืออะไรพูดคุยเกี่ยวกับมาตรฐานและความสําคัญจากนั้นแนะนําผู้อ่านผ่านแต่ละขั้นตอนของกระบวนการออก ขั้นตอนสําคัญ ได้แก่ การตั้งค่ากระเป๋าเงิน Web3 การรับ ETH ทดสอบการเขียนสัญญาอัจฉริยะและการปรับใช้ ด้วยการใช้ประโยชน์จากไลบรารี OpenZeppelin เราจะแสดงวิธีการสร้างโทเค็นที่ตรงตามมาตรฐาน ERC20 อย่างปลอดภัยและมีประสิทธิภาพ บทช่วยสอนนี้ไม่เพียง แต่ช่วยให้ผู้อ่านเข้าใจด้านเทคนิคของ cryptocurrencies แต่ยังให้ประสบการณ์จริงวางรากฐานสําหรับการสํารวจโลกบล็อกเชนที่ลึกซึ้งยิ่งขึ้น ไม่ว่าคุณจะเป็นมือใหม่ที่อยากรู้เกี่ยวกับเทคโนโลยีบล็อกเชนหรือนักพัฒนาที่ต้องการทําความเข้าใจกระบวนการออกสกุลเงินดิจิทัลบทช่วยสอนนี้จะให้ ess

ภาคภูมิใจในด้านบล็อกเชนได้รับความสนใจอย่างมากจากการพัฒนาต่อเนื่องในด้านบล็อกเชน บิตคอยน์ อีเธอเรียม สกุลเงินดิจิทัล และ ICO สิ่งนี้เป็นเหตุให้ฉันเขียนบทแนะนำนี้ ซึ่งเป็นบทแรกในชุดบทความที่ออกแบบมาเพื่อช่วยให้บุคคลทั่วไปเข้าใจว่าจะใช้เทคโนโลยีบล็อกเชนและสกุลเงินดิจิทัลได้อย่างไรเพื่อสร้างแอปพลิเคชันที่มีผลงาน

ในบทแนะนำนี้ฉันมีเป้าหมายที่จะแนะนำคุณผ่านกระบวนการทั้งหมด ตั้งแต่การตั้งค่าบัญชีของคุณไปจนถึงการออกโทเค็นครั้งแรกของคุณบนเครือข่ายทดสอบ Ethereum โดยใช้สัญญาอัจฉริยะเดียวและMetamask. โทเค็นนี้จะทำหน้าที่เป็นโทเค็น ERC20 มาตรฐานบนเครือข่ายทดสอบ Ethereum ที่มีคุณสมบัติหลักที่สามารถใช้เป็นพื้นฐานหลากหลายสำหรับแอปพลิเคชันที่ซับซ้อนกว่าการโอนง่ายๆ

ก่อนที่คุณจะเริ่มต้น

ก่อนที่คุณจะสร้างโทเค็น ERC20 ของคุณเอง คุณต้องเตรียมสิ่งต่อไปนี้:

  1. กระเป๋า Web3 (เช่น MetaMask, Phantom หรือกระเป๋าใดก็ได้ที่สามารถใช้งานร่วมกับ WalletConnect)
  2. ทดสอบ ETH (คุณสามารถรับโทเค็นทดสอบจาก ก๊อกเหรียญเฟธเจอร์ Sepolia ) - โปรดทราบว่าขั้นตอนนี้ต้องเสียค่าธรรมเนียมแก๊ส
  3. เบราว์เซอร์เว็บ (แนะนำให้ใช้ Chrome)

ERC20 Token คืออะไร?

ERC หมายถึง Ethereum Request for Comment โดยตัวเลข 20 คือหมายเลขการร้องขอแนะนำ วัตถุประสงค์ของ ERC-20 คือเพิ่มประสิทธิภาพให้กับเครือข่าย Ethereum นั้นเอง มันเป็นหนึ่งในมาตรฐาน ERC ที่สำคัญที่สุดและเป็นกรอบทางเทคนิคสำหรับการสร้างโทเค็นบนเหรียญบล็อกเชน Ethereum ผ่านสมาร์ทคอนแทร็กต์ ERC-20 ระบุกฎเกณฑ์ชุดหนึ่งที่โทเค็นที่พื้นฐานบน Ethereum ต้องปฏิบัติตาม กำหนดให้เป็นสินทรัพย์ที่พื้นฐานบนเหรียญบล็อกเชน ที่สามารถส่งและรับได้ มีมูลค่า ทำงานบนเหรียญบล็อกเชน Ethereum และเสียค่าแก็สในการทำธุรกรรม

ในปี 2015 นักพัฒนาชาวเยอรมันชื่อ Fabian Vogelsteller ได้มีส่วนร่วมในประวัติศาสตร์ของ Ethereum โดยการแสดงความคิดเห็นบนหน้า GitHub ของโครงการนี้ นี่เป็นความคิดเห็นครั้งที่ 20 ของเขา ในระหว่างที่เขากล่าวถึง ERC-20 ครั้งแรก ซึ่งเป็นการแนะนำในการขยายของ Ethereum รวดเร็ว ต่อมาก็มีการนำเสนอ ERC-20 เป็นตัวแก้ไขของปัญหาความยืดหยุ่นของเครือข่าย

การยอมรับและการนำมาใช้งานอย่างเป็นทางการของ ERC-20 ในฐานะเสนอแนะการปรับปรุง Ethereum (EIP-20) ที่ร่วมมือกับ Vogelsteller และ Ethereum ร่วมก่อตั้ง Vitalik Buterin เกิดขึ้นที่สิ้นปี 2017

ก่อนมาตรฐาน ERC-20 ผู้สร้างโทเค็นต้องเริ่มต้นจากศูนย์ซึ่งส่งผลให้มีความไม่สม่ำเสมอในต่างๆโทเค็น นักพัฒนาต้องเข้าใจโค้ดสมาร์ทคอนแทรคของโทเค็นอื่นๆอย่างเต็มที่เนื่องจากขาดโครงสร้างมาตรฐาน ทำให้กระเป๋าเงินและพื้นที่ซื้อขายต้องตรวจสอบโค้ดของโทเค็นแต่ละตัวเพื่อรองรับ การเพิ่มโทเค็นใหม่ในแอปพลิเคชันกลายเป็นงานที่ซับซ้อน

ด้วยการเปิดตัวมาตรฐาน ERC-20 คุณสมบัติที่เป็นมาตรฐานการทํางานร่วมกันและความสามารถในการถ่ายโอนทําให้กระเป๋าเงินและการแลกเปลี่ยนสามารถรวมโทเค็นหลายตัวและอํานวยความสะดวกในการแลกเปลี่ยนระหว่างกันได้อย่างง่ายดาย สัญญาอัจฉริยะที่ใช้ในโทเค็น ERC-20 สามารถดําเนินการและบังคับใช้ธุรกรรมทางการเงินที่ซับซ้อนได้โดยอัตโนมัติ ซึ่งจําเป็นสําหรับแพลตฟอร์ม DeFi บนแพลตฟอร์มเหล่านี้โทเค็นสามารถแสดงเครื่องมือทางการเงินต่างๆเช่นเงินกู้หรือหุ้นในกลุ่มสภาพคล่อง

มาตรฐาน ERC-20 ระบุหกฟังก์ชั่นบังคับและสามฟังก์ชั่นที่เลือกได้ที่สัญญาอัจฉริยะต้องดำเนินการด้วย

นี่คือฟังก์ชันที่ต้องการและคำอธิบายของคุณลักษณะ:

  • totalSupply: วิธีที่กำหนดจำนวนรวมของโทเค็น; หากถึงขีดจำกัดนี้ สัญญาอัจฉริยะจะไม่สร้างโทเค็นใหม่
  • balanceOf: วิธีที่คืนค่าจำนวนโทเค็นที่ที่อยู่กระเป๋าเฉพาะถือ
  • transfer: วิธีที่หักจำนวนเหรียญที่ระบุจากจำนวนทั้งหมดและจัดสรรให้กับผู้ใช้
  • transferFrom: วิธีทางเลือกสำหรับการโอนโทเค็นระหว่างผู้ใช้
  • approve: วิธีการตรวจสอบว่าสัญญาอัจฉริยะอนุญาตให้จัดสรรจำนวนเหรียญที่กำหนดไว้ให้กับผู้ใช้ โดยพิจารณาจากการจำหน่ายทั้งหมด
  • allowance: คล้ายกับวิธีการอนุญาต แต่ตรวจสอบว่าผู้ใช้คนหนึ่งมียอดเงินคงเหลือเพียงพอในการส่งจำนวนเหรียญที่กำหนดให้กับผู้ใช้อีกคนหนึ่งหรือไม่

นอกจากฟังก์ชันพื้นฐานที่กล่าวถึงไว้ก่อนหน้านี้ ยังมีฟังก์ชันทางเลือกเพิ่มเติมที่สามารถเพิ่มประสิทธิภาพการใช้งานโทเค็น

  • name: วิธีที่คืนชื่อโทเค็น
  • symbol: วิธีที่ส่งคืนสัญลักษณ์โทเค็น
  • decimals: วิธีที่แสดงถึงจำนวนตำแหน่งทศนิยมสำหรับโทเค็น นี้กำหนดหน่วยขนาดเล็กที่สุดของโทเค็น ตัวอย่างเช่น หากโทเค็น ERC-20 มีค่าทศนิยมเป็น 6 หมายความว่าโทเค็นสามารถแบ่งแยกได้สูงสุดถึงหกตำแหน่งทศนิยม

หากคุณคุ้นเคยกับโปรแกรมเชิงวัตถุ คุณสามารถคิดเกี่ยวกับ ERC-20 เป็นอินเตอร์เฟซ หากต้องการทำให้โทเค็นของคุณกลายเป็นโทเค็น ERC-20 คุณต้องปรับใช้อินเตอร์เฟซ ERC-20 ซึ่งต้องการให้คุณรวมฟังก์ชันหลักหกฟังก์ชันเหล่านี้ โดยพื้นฐานแล้ว อินเตอร์เฟซ ERC-20 ทำหน้าที่เป็นแม่แบบ และสัญญาใดๆ ที่ต้องการจะจัดลำดับเป็นโทเค็น ERC-20 จะต้องออกแบบและปรับใช้ฟังก์ชันของตนโดยใช้แม่แบบนี้

เริ่มสร้างโทเค็น ERC20 ของคุณเอง

รับ ETH ทดสอบ

เพื่อเริ่มต้นการ implement สัญญาของคุณบนเครือข่ายทดสอบ Ethereum Sepolia คุณต้องทำการติดตั้ง MetaMaskส่วนขยายบราวเซอร์หรือใช้วอลเล็ต Web3 อื่น ๆ เช่น Phantom หรือวอลเล็ตใด ๆ ที่เข้ากันได้กับ WalletConnect หลังจากตั้งค่าวอลเล็ตของคุณแล้ว คุณจะต้องได้รับ ETH ทดสอบบางส่วน คุณสามารถได้รับจากEthereum Sepolia Faucetซึ่งออกแบบมาเฉพาะสำหรับ Ethereum Sepolia test network การรับ ETH เพื่อทดสอบเป็นเรื่องง่ายดาย: แค่ไปที่เว็บไซต์ faucet, เชื่อมต่อที่อยู่กระเป๋าเงินหรือป้อนที่อยู่ของคุณและทำตามคำแนะนำ คุณยังสามารถแชร์ทวีตเพื่อรับรางวัลพิเศษได้ หรือคุณสามารถเลือกตัวเลือก “ไม่ขอบคุณ แค่ส่ง 0.05 ETH ถึงฉันได้เลย” เพื่อรับ ETH ทดสอบของคุณโดยตรง อย่างไรก็ตาม โปรดจำไว้ว่าคุณต้องมีอย่างน้อย 0.001 ETH ในบัญชี Ethereum mainnet เพื่อใช้ QuickNode test coin faucet

เขียนสมาร์ทคอนแทรก

ในปัจจุบันมีโทเค็นจำนวนมากที่เป็นไปตามมาตรฐาน ERC20 ที่ทำงานบนบล็อกเชน Ethereum ซึ่งได้รับการพัฒนาโดยกลุ่มต่าง ๆ การประยุกต์ใช้เหล่านี้แตกต่างกัน บางส่วนเน้นการลดค่าแก๊สในขณะที่อื่นส่วนใหญ่เน้นการเพิ่มความปลอดภัย เพื่อสร้างโทเค็นที่แข็งแรงและปลอดภัย นักพัฒนาจำนวนมากเลือกใช้เฟรมเวิร์ค ERC20 ที่น่าเชื่อถือและปลอดภัยของ OpenZeppelin เป็นที่ทดสอบอย่างละเอียดและรีวิวจากชุมชนของสมุดสัญญาอัจฉริยะที่ใช้ซ้ำได้ที่ประกอบด้วยเฟรมเวิร์คโทเค็น ERC20 ที่เป็นประสิทธิภาพและปลอดภัย มันรับประกันว่าการพัฒนาโทเค็นเป็นไปตามมาตรฐานและปลอดภัย และเป็นตัวเลือกสำหรับนักพัฒนาโทเค็นหลายคนในปัจจุบัน

เพื่อความสะดวกและความปลอดภัย เราจะใช้ OpenZeppelin ERC-20สัญญาเพื่อสร้างโทเค็นของเราในคู่มือนี้ ด้วย OpenZeppelin เราไม่จำเป็นต้องเขียนอินเตอร์เฟซ ERC-20 ทั้งหมด เราเพียงแค่นำเข้าสัญญาไลบรารีและใช้ฟังก์ชันของมัน เช่นในที่นี้เราจะออก 1 ล้านโทเค็น ERC-20 ชื่อ MNT

ต่อมา ไปที่Ethereum Remixใน IDE (สภาพแวดล้อมการพัฒนาที่รวมอยู่ของ Ethereum ที่รองรับภาษาโปรแกรม Solidity) และสร้างไฟล์ Solidity ใหม่ เช่น - MyNewToken.sol

  1. สร้างไฟล์ใหม่ใน Ethereum Remix IDE

โปรดวางโค้ดต่อไปนี้ลงในสคริปต์ Solidity ใหม่ของคุณ:

SPDX-ใบอนุญาต-ตัวระบุ: MIT pragma solidity ^0.8.20;

นําเข้า "@openzeppelin/contracts/token/ERC20/ERC20.sol”;

contract MyNewToken คือ ERC20 { constructor() ERC20("MyNewToken", "MNT") { _mint(msg.sender, 1000000 (10 *uint256(decimals()))); } }

  1. คัดลอกและวางโค้ดด้านบนสำหรับสัญญาฉบับอัจฉริยะในการออกสินทรัพย์

นี่คือสิ่งที่โค้ดทำ:

คำอธิบาย SPDX-License-Identifier ระบุให้เห็นถึงสัญญาอนุญาตภายใต้ที่สัญญากำหนด

คำสั่ง Pragma ระบุเวอร์ชันของคอมไพเลอร์ที่จะใช้

สัญญา ERC20 ถูกนำเข้ามาจาก OpenZeppelin และเป็นพื้นฐานสำหรับโทเค็นของคุณ

MyNewToken เป็นชื่อของสัญญาของคุณ ที่ได้รับการรับช่วงจากสัญญา ERC20

constructor function จะเริ่มต้นเหรียญของคุณด้วยชื่อ ("MyNewToken") และสัญลักษณ์ ("MNT")

ฟังก์ชัน _mint ภายใน constructor สร้างการจัดหาเหรียญเริ่มต้น ในกรณีนี้มีการจัดหาเหรียญ 1 ล้านเหรียญและมอบหมายให้กับที่อยู่ที่ติดตั้งสัญญา จำนวนเหรียญทั้งหมดจะถูกปรับตามค่าทศนิยมซึ่งมีค่าเริ่มต้นเป็น 18 ใน OpenZeppelin การนำไปใช้งาน

เนื่องจากเรานำเข้าสัญญาอัจฉริยะ ERC20 จาก OpenZeppelin และสัญญา MyNewToken ได้รับการสืบทอดมาจากมัน ไม่จำเป็นต้องนิยามฟังก์ชั่นทั้งหมดของเราเอง ฟังก์ชั่นทั้งหมดที่นิยามไว้ในสัญญา ERC20 ถูกรวมอยู่ในสัญญา MyNewToken หากคุณต้องการดูรหัส ERC-20 ที่เป็นรูปแบบที่ละเอียดมากขึ้น คุณสามารถอ้างอิงได้ที่ไฟล์นี้.

ตอนนี้ใช้เวลาสักครู่เพื่อปรับแต่งสัญญาอัจฉริยะให้เหมาะกับความต้องการของคุณ คุณยังสามารถเปลี่ยนชื่อโทเค็นและสัญลักษณ์ได้โดยแก้ไขส่วนนี้: ERC20("MyNewToken", "MNT")

ปรับใช้สัญญาอัจฉริยะ

เมื่อคุณได้ปรับแต่งสัญญาฉลากของคุณแล้ว ขั้นตอนต่อไปคือการคอมไพล์

ขั้นตอนที่ 1: คลิกที่ปุ่ม Solidity Compiler ตรวจสอบเวอร์ชันคอมไพเลอร์และตรวจสอบว่าเลือกสัญญาถูกต้องแล้ว โดยเนื่องจากสมาร์ทคอนแทร็กของคุณรวมถึงไลน์ pragma solidity ^0.8.20; เวอร์ชันคอมไพเลอร์ควรเป็นอย่างน้อย 0.8.20 ถัดจากนั้นคลิกที่ปุ่ม Compile MyNewToken.sol หากทุกอย่างเป็นที่เรียบร้อยแล้ว คุณจะเห็นเครื่องหมายตรวจสอบสีเขียวบนปุ่มคอมไพล์

  1. คอมไพล์สมาร์ทคอนแทรค

  1. คอมไพล์สำเร็จ (เครื่องหมายตรวจสอบสีเขียว)

ขั้นตอนที่ 2: นำทางไปที่แท็บ Deploy & Run Transactions ในส่วน Environment เลือกตัวเลือก Injected Provider สำหรับการฉีดยางในการใช้งานก่อนไปเตรียม MetaMask ให้ตั้งค่าเป็นเครือข่ายทดสอบ Sepolia และเลือกสัญญา MyNewToken สำหรับการใช้งาน ในที่สุดคลิกปุ่ม Deploy เพื่อใช้งานสัญญาของคุณ

  1. เลือกผู้ให้บริการแบบฉีดเป็นกระเป๋าเงิน Web3 (MetaMask) ในพื้นที่ของคุณ

  1. เชื่อมต่อกระเป๋า Web3 ของคุณ

  1. ยืนยันการปรับปรุงสัญญาและเลือกเครือข่าย (นี้เป็นเครือข่ายทดสอบ)

หากคุณไม่แน่ใจว่าจะสลับเป็นเครือข่ายใด ๆ ให้เปิดส่วนขยาย MetaMask คลิกที่ตัวเลือกเครือข่ายที่มุมบนซ้ายและเลือก Sepolia หากไม่มีให้ตรวจสอบว่าเปิดใช้งานตัวเลือกเครือข่ายทดสอบหรือไม่ สำหรับคำแนะนำในการเพิ่ม QuickNode RPC URL ใน MetaMask โปรดตรวจสอบ คู่มือ QuickNode.

หมายเหตุ: คุณจะต้องเรียกเก็บค่าธรรมเนียม GAS เพื่อแลกเปลี่ยน ETH ทดสอบ

ขั้นตอนที่ 3: ยืนยันการทำธุรกรรมใน MetaMask:

Congratulations! สัญญาโทเค็นของคุณได้ถูกติดตั้งบนเครือข่ายทดสอบ Ethereum Sepolia อย่างประสบความสำเร็จแล้ว และคุณเป็นเจ้าของโทเค็นแรกของคุณแล้ว!

Author: Deniz
Translator: Paine
Reviewer(s): KOWEI、Edward、Elisa
Translation Reviewer(s): Ashely
* The information is not intended to be and does not constitute financial advice or any other recommendation of any sort offered or endorsed by Gate.io.
* This article may not be reproduced, transmitted or copied without referencing Gate.io. Contravention is an infringement of Copyright Act and may be subject to legal action.
Start Now
Sign up and get a
$100
Voucher!