อะไรคือ Ethers.js? การศึกษาลึกลงในไลบรารี JavaScript ของ Ethereum

มือใหม่3/18/2024, 8:47:39 AM
Ethereum เป็นโปรโตคอลบล็อกเชนที่มีชุดเครื่องมือที่มีชื่อเสียง สัญญาเชื่อมัคร์ และระบบนิเวศที่ประสานโค้ด พึงพอใจใน ethers.js (ห้องสมุด Javascript) ที่จำเป็นสำหรับการให้ความมีกำลังที่จำเป็นสำหรับการใช้วิธีการแนวทางนักพัฒนา

หากคุณกำลังสนใจ Ether (ETH) มากกว่าผู้เล่นคริปโตอื่น ๆ คุณควรใช้เวลาสักครู่เพื่อเข้าใจ Ethereum จากมุมมองทางเทคนิคมากขึ้น โปรโตคอลบล็อกเชนที่เป็นที่รู้จักด้วยชุดเครื่องมือ สัญญาอัจฉริยะ และระบบนิเวศที่สอดคล้องกับโค้ด Ethereum มีการพึ่งพาอย่างมากใน ethers.js — ห้องสมุด Javascript — เพื่อให้วิธีการเน้นผู้พัฒนาของมันมีประสิทธิภาพที่จำเป็น

ในขณะที่ ethers.js ไม่ใช่ไลบรารี JavaScript ต้นฉบับของ Ethereum เท่านั้น แต่มันเป็นทางเลือกที่ดีกว่าสำหรับ DApps ขนาดเล็ก ในคู่มือนี้ เราได้ศึกษาลึกลงไปในด้านของ ethers.js เพื่อช่วยให้คุณเข้าใจแนวคิดเทคนิคนี้

ในคู่มือนี้:

  1. การแยกแพ็ค ethers.js
  2. ทำไม ethers.js สำคัญ
  3. อธิบายรายละเอียดเวอร์ชัน Ethers.js ทั้งหมด
  4. เริ่มต้นกับ ethers.js
  5. คุณสมบัติหลัก
  6. วิชาการเขียนเรียกใช้ Ethers.js ได้อย่างไร
  7. การประยุกต์ใช้งานในโลกของ Ethers.js
  8. ความสำคัญของความปลอดภัย
  9. Ethers.js: เครื่องมือที่หลากหลาย
  10. คำถามที่ถามบ่อย

การแยกบรรจุ ethers.js

ethers.js เป็นไลบรารี JavaScript — ชุดรหัสที่เขียนไว้ล่วงหน้าที่อัตโนมัติหลายฟังก์ชัน การใช้ไลบรารี JavaScript สำหรับการพัฒนาสามารถลดความพยายามในการเขียนรหัส กระบวนการกลายเป็นเพื่อนบ้านของผู้ใช้มากขึ้น และสำหรับนักพัฒนา DApp ไลบรารีเหล่านี้ช่วยให้ฟังก์ชันพิเศษที่เฉพาะของบล็อกเชนเบื้องต้นเป็นชุดพร้อมใช้งาน

Ethers.js และวงจรการพัฒนา: BeInCrypto

นี่คือ GitHubrepositoryสำหรับห้องสมุด

JavaScript libraries คืออะไร?

ก่อนที่เราจะลงลึกใน ethers.js มาดู JavaScript libraries ให้ลึกซึ้งกันก่อน ไลบรารีเหล่านี้เป็นชุดของโค้ด JavaScript ที่เขียนไว้ล่วงหน้า ที่สามารถทำงานอัตโนมัติกับงานทั่วไปบางอย่าง การใช้ไลบรารีเช่น ethers.js สามารถช่วยเร่งกระบวนการสร้าง DApp และยังเร่งความสามารถในการทำงานกับบล็อกเชนอื่น ๆ ได้อีกด้วย

ทำไมเราต้องใช้ไลบรารี JavaScript ใน Ethereum ครับ?

Ethereum ได้รับการพัฒนาเป็นแพลตฟอร์มสำหรับการพัฒนาซอฟต์แวร์แบบไม่มีการกำหนดสมาร์ทคอนแทรคไปDeการใช้งานแอปพลิเคชันทางการเงินไปสู่ DApps การเขียนโค้ดเป็นส่วนสำคัญของนิเวศ Ethereum นั่นคือเหตุผลที่หนึ่งที่ไลบรารี JavaScript ที่ถูกปรับให้เหมาะกับ Ethereum เช่น ethers.js ถูกสร้างขึ้น โดยใช้ไลบรีเหล่านี้ นักพัฒนาสามารถเชื่อมต่อกับเครือข่าย ใช้งานและโต้ตอบกับสมาร์ทคอนแทรค และจัดการได้ง่ายบล็อกเชนข้อมูล

คุณรู้หรือไม่? Ethers.js ไม่ใช่เพียงไลบรารี Javascript ของ Ethereum ที่รู้จักอย่างเดียว อีกหนึ่งไลบรารีที่โดดเด่นคือ Web3.js ซึ่งถูกก่อตั้งโดย Ethereum Foundation Web3.js โด่งดังด้วยคอลเล็กชันแบบเบ็ดเสร็จและได้รับการพิจารณาว่าเหมาะสำหรับ DApps ที่ซับซ้อนมากขึ้น

ทำไม ethers.js ถึงสำคัญ?

ตามที่กล่าวมาแล้ว ethers.js เน้นไปที่นักพัฒนาที่มีส่วนร่วมกับบล็อกเชน Ethereum ในเรื่องความสำคัญ ไลบรารีที่พัฒนาโดย Richard Moore และตลาดธุรกิจในชื่อ "Ethers" มีประโยชน์สำหรับงานดังต่อไปนี้:

  1. การทำให้เรื่องธุรกรรม Ethereum หลายรายการง่ายขึ้น
  2. ให้การเข้าถึงเอกสารและทรัพยากรที่ครอบคลุม
  3. สนับสนุนการพัฒนา DApp


นิเวศเอทเคอร์นิคโคเซียมและบทบาทที่สามารถเป็นได้: BeInCrypto

นี่คือตัวอย่างรหัสสำหรับดึงยอดคงเหลือปัจจุบันของบัญชี Ethereum อย่างรวดเร็ว มาอ่านรหัสก่อนและเข้าใจว่า ethers.js ทำให้ชีวิตง่ายขึ้น

const { ethers } = require(‘ethers’);

// เชื่อมต่อกับเครือข่าย Ethereum

const provider = new ethers.providers.JsonRpcProvider(‘https://mainnet.infura.io/v3/YOUR_INFURA_API_KEY’);

// ระบุที่อยู่บัญชี

const accountAddress = ‘0xABC123…’;

// เรียกดึงและแสดงยอดเงิน

provider.getBalance(accountAddress).then((balance) => {

// แปลงยอดคงเหลือจาก Wei เป็น Ether const balanceInEther = ethers.utils.formatEther(balance); console.log(`ยอดคงเหลือ: ${balanceInEther} ETH`);

});

ในตัวอย่างนี้ คุณสามารถเห็นได้อย่างชัดเจนว่าคำสั่ง — ethers.providers.JsonRpcProvider — เรียกใช้จุดปลายทาง Infura และ getBalance เรียกดึงยอดคงเหลือ คุณไม่จำเป็นต้องรับมือโดยตรงกับ JSON RPC หรือการเรียกใช้ขั้นตอนระยะไกลของ Ethereum ในกรณีนี้ คุณสามารถคิดถึง ethers.js เป็นตัวแปลที่ทำให้ Ethereum เป็นเรื่องง่ายและเข้าใจได้มากขึ้นสำหรับคุณ

ยังไม่แน่ใจถึงความสำคัญของ ethers.js หรือไม่? นี่คือการเปรียบเทียบอย่างรวดเร็ว

คิดถึง ethers.js เหมือนบัตรห้องสมุดเก่า จำได้ไหมว่าบัตรเหล่านั้นมีดัชนี ที่ช่วยให้คุณค้นหาหนังสือที่ถูกต้องโดยการหาแถวและหมายเลขชั้น? นี่คือเป้าหมายของ ethers.js มันทำให้ Ethereum มีความสามารถอย่างมากมาย โดยอนุญาตให้นักพัฒนาพบว่าสิ่งที่พวกเขาต้องการอย่างแน่นอน

https://twitter.com/wondernw/status/1764751034096800009?ref_src=twsrc%5Etfw%7Ctwcamp%5Etweetembed%7Ctwterm%5E1764751034096800009%7Ctwgr%5Ec1f906e08013316a8e26d4dc6736b846d7473e55%7Ctwcon%5Es1&ref_url=https%3A%2F%2Fbeincrypto.com%2Flearn%2Fethers-js-explained%2F

อธิบายรายละเอียดเวอร์ชันทั้งหมดของ Ethers.js

ในระหว่างหลายปีที่ผ่านมา มีการเผยแพร่เวอร์ชัน Ethers.js หลายรุ่น โดยแต่ละรุ่นจะนำเสนอคุณลักษณะใหม่หรือการแก้บั๊ก นอกจากนี้ การเวอร์ชันจะปฏิบัติตามมาตรฐานซีมิแนนติก เช่น v1.2.3 โดยที่ตัวเลขตัวแรกแสดงถึงเวอร์ชันหลัก และตัวเลขที่สองและสามแสดงถึงเวอร์ชันรองและแพทช์ เราจะพิจารณาเฉพาะการอัพเกรดเวอร์ชันหลักเท่านั้นในขณะนี้ — การเปลี่ยนแปลงที่อาจไม่สามารถทำให้ย้อนกลับได้

  1. เวอร์ชัน 1.x (ที่เป็นที่มา): นี่คือการเปิดตัวครั้งแรก ตามด้วยคุณลักษณะที่เกี่ยวข้องกับการเซ็นต์รายการธุรกรรม การจัดการกระเป๋าสตางค์ และอื่น ๆ
  2. เวอร์ชัน 2.x (Ethers กระเป๋าสตางค์): มุ่งเน้นไปที่สิ่งอำนวยความสะดวกและคุณลักษณะของกระเป๋าสตางค์ รวมถึงการเก็บรักษาอย่างปลอดภัยคีย์ส่วนตัว.
  3. เวอร์ชัน 3.x (Ethers provider): นำเสนอการแยกระบบสำหรับเชื่อมต่อกับโหนด Ethereum ผู้เล่นประเภทต่าง ๆ ได้รับการต้อนรับ เช่น Infura, WebSockets, และอื่น ๆ
  4. เวอร์ชัน 4.x (สัญญา Ethers): คุณสมบัติที่นำทางด้วยสัญญาฉลาดถูกขยายออกไป พร้อมกับสิ่งอำนวยความสะดวกมากขึ้นสำหรับการเข้ารหัสและถอดรหัสข้อมูล ตัวกรองเหตุการณ์ และอื่น ๆ
  5. เวอร์ชัน 5.x: มีโครงสร้างแบบโมดูลาร์, รองรับการปรับปรุงเพิ่มเติมสำหรับENS, การจัดการข้อผิดพลาดอย่างเป็นระบบ และอื่น ๆ
  6. เวอร์ชัน 6.x: การรวมคุณลักษณะ ES6, การเริ่มใช้ BigInt, การเข้าถึงโอเวอร์โหลด, และอื่น ๆ


สถาปัตยกรรมและองค์ประกอบของ Ethers.js: BeInCrypto

https://harambetoken.ai/?domain=beincrypto&banner=header-banner-3&cpid=1ce31526-203f-4d6a-bf00-af77d6cf6edd

คุณสามารถหาข้อมูลเพิ่มเติมเกี่ยวกับแต่ละเวอร์ชันได้โดยการดูที่ Ethers.js’เอกสารเดิม.

“Ethers.js ส่องแสงด้วยความสามารถในการทำงานร่วมกับบล็อกเชนที่ยอดเยี่ยม รองรับ TypeScript แบบเดิม และเครื่องมือในการแก้ปัญหาที่ขั้นสูง มันเป็นไลบรารีที่เล็กกระชับซึ่งสามารถผสมผสานอย่างลื่นไหลในเฟรมเวิร์กยอดนิยม เช่น React, Vue, Angular ฯลฯ”

Redbelly Intern, Builder: X

เริ่มต้นใช้ ethers.js

ก่อนที่คุณจะวางแผนการใช้โอกาสที่ ethers.js เสียก่อนเรื่องสำคัญที่ควรทราบคือ ณ ขั้นตอนใดของการพัฒนา DApp หรือสมาร์ทคอนแทรคที่มันถูกเรียกใช้ นี่คือการแบ่งส่วนโดยรวมอย่างรวดเร็วสำหรับผู้ที่ต้องการทราบและเข้าใจองค์ประกอบเหล่านี้จากเริ่มต้น

Web3.js เหมาะสำหรับมือใหม่และกระชับกว่า ethers.js

Ethers.js, อีกอย่างที่ให้ตัวเลือกมากขึ้นและเป็นเท่วัยใหม่; มันเรียบง่ายน้อยกว่า Web3.js.

degenBRo, นักพัฒนาบล็อกเชนและผู้ก่อตั้งของ Solidity Finance: ที่บอกให้ BeInCrypto

เพื่อเริ่มต้น คุณต้องเปิดคอมพิวเตอร์และติดตั้งสภาพแวดล้อมสำหรับนักพัฒนา ซึ่งรวมถึง Node.js และ Integrated Development Environment โปรดทราบว่า JavaScript 通常ทำงานบนเบราว์เซอร์ แต่ด้วย Node.js สามารถทำงานเช่นเดียวกันบนคอมพิวเตอร์ มันเป็นสภาพแวดล้อมรันไทม์ของ Node.js ที่ติดตั้งไลบรารี JavaScript เช่น ethers.js

สำหรับ IDE ซึ่งนักพัฒนาซอฟต์แวร์ต้องการทดสอบ คุณสามารถพิจารณา VS Code, Sublime Text หรืออะไรก็ตาม

https://twitter.com/juniorrbn_dev/status/1765370597066862749?ref_src=twsrc%5Etfw%7Ctwcamp%5Etweetembed%7Ctwterm%5E1765370597066862749%7Ctwgr%5Ec1f906e08013316a8e26d4dc6736b846d7473e55%7Ctwcon%5Es1&ref_url=https%3A%2F%2Fbeincrypto.com%2Flearn%2Fethers-js-explained%2F

การติดตั้งการสนับสนุน ethers.js

ขั้นตอนถัดไปคือการติดตั้ง Ethers, ไลบรารีที่ใช้เก็บ ethers.js

npm ติดตั้ง ethers

จากนั้นคุณต้องใช้ Ether เพื่อเชื่อมต่อกับ กระเป๋าเงิน Ethereumเนื่องจากการโต้ตอบกับบล็อกเชนจะต้องใช้ขั้นตอนนี้สำหรับการตรวจสอบข้อมูลประจำตัว คุณสามารถใช้ไลบรารี Ethers ที่ติดตั้งไว้สำหรับการนี้ นี่คือคำสั่งตัวอย่าง:

/Related

บทความเพิ่มเติม

Ethereum ETF อธิบาย: มันคืออะไรและทำงานอย่างไร

14 นาที 15 มีนาคม 2024 3 วัน ที่ผ่านมา

วิธีการรับเงินเดือนด้วยบิตคอยน์ (BTC): ทุกอย่างที่คุณต้องรู้

25 นาที 15 มีนาคม 2024 2 วันที่ผ่านมา

const { ethers } = require(‘ethers’);

// เชื่อมต่อกับMetaMask กระเป๋าเงิน

const provider = new ethers.providers.Web3Provider(window.ethereum);

เมื่อเสร็จสิ้นแล้ว คุณสามารถใช้ IDE เพื่อเขียนโค้ด solidity และสร้างสัญญาสมาร์ทสำหรับ DApps Ethers.js จะถูกใช้ในการ implement เช่นเดียวกัน คุณสามารถทดสอบ DApp หรือสัญญาในระดับท้องถิ่น โดยใช้สภาพแวดล้อมเช่นTruffleและ Hardhat จากนั้นคุณจะติดตั้งสัญญาบนเครือข่าย Ethereum ซึ่งต้องใช้ ethers.js

const contract = new ethers.ContractFactory(abi, bytecode, signer);

const deployedContract = await contract.deploy();

สำหรับ unversed abi, Bytecode, Signer เป็นคำศัพท์ที่จำเป็นสำหรับการพัฒนาสมาร์ทคอนแทรคอย่างราบรื่น Abi หรือ application binary interface เหมือนป้ายชื่อที่ช่วยให้เครือข่ายรู้จักสมาร์ทคอนแทรคของคุณ Bytecode คือเวอร์ชันที่คอมไพล์หรือเวอร์ชันพร้อมใช้งานในเครือข่ายของสมาร์ทคอนแทรคและ signer คือผู้สร้างลายเซ็น

Ethers.js สำหรับฝั่งหน้า

เมื่อสมาร์ทคอนแทรกซ์ถูกใช้งาน คุณจำเป็นต้องสร้างส่วนหน้าหรืออินเตอร์เฟซผู้ใช้ของ DApp สำหรับสิ่งนี้ คุณสามารถใช้ Angular หรือ React คุณยังสามารถรวม Ethers.js ในส่วนหน้าเพื่อให้มั่นใจว่ามันสามารถปฏิสัมพันธ์กับสมาร์ทคอนแทรกซ์ Ethereum นี่คือโค้ดตัวอย่างสำหรับสิ่งเดียวกัน

const provider = new ethers.providers.Web3Provider(window.ethereum);

const contract = new ethers.Contract(contractAddress, contractABI, provider.getSigner());

หลังจากนี้คุณต้องทดสอบ DApp บน testnet เช่น Rinkeby หรือ Ropsten หลังจากที่คุณพอใจคุณสามารถเปิด DApp บน mainnet โปรดสังเกตว่ามีกี่ครั้งตลอดกระบวนการที่คุณต้องปฏิสัมพันธ์กับ Ethers หรือ ethers.js

คุณสมบัติหลัก

Ethers.js เป็นไลบรารี Ethereum อย่างครอบคลุม นี่คือบางสิ่งที่ให้บริการที่เป็นพิเศษที่ทำให้ชีวิตของนักพัฒนาง่ายขึ้น:

ผู้ให้บริการ

ผู้ให้บริการ Ethers.js ทำหน้าที่เป็นสะพานระหว่างเครือข่าย Ethereum และ DApp ที่คุณกำลังทำงาน ซึ่งรวมถึงการทำให้การค้นข้อมูลบล็อกเชนง่ายขึ้น และช่วยในการส่งออกธุรกรรม อินฟูร่าเป็นหนึ่งในผู้ให้บริการที่ Ethers.js ใช้

นี่คือรหัสตัวอย่างสำหรับเดียวกัน:

const { ethers } = require(‘ethers’);

// เชื่อมต่อโดยใช้ Infura

const provider = new ethers.providers.JsonRpcProvider(‘https://mainnet.infura.io/v3/YOUR_INFURA_PROJECT_ID’ไม่สามารถแปลข้อความ

// ตรวจสอบหมายเลขบล็อกปัจจุบัน

provider.getBlockNumber().then((blockNumber) => {

console.log(“หมายเลขบล็อกปัจจุบัน:”, blockNumber);

});

กระเป๋าเงิน

Ethers.js ช่วยให้คุณจัดการกระเป๋าเงิน ช่วยให้คุณสร้างบัญชีใหม่ นำเข้าบัญชีที่มีอยู่ จัดการกุญแจส่วนตัวอย่างปลอดภัยสำหรับการเซ็นรายการธุรกรรม และอื่น ๆ

สัญญา

https://harambetoken.ai/?domain=beincrypto&banner=header-banner-3&cpid=1ce31526-203f-4d6a-bf00-af77d6cf6edd

ส่วนนี้ของ Ethers.js' มีการสนับสนุนการสร้างวัตถุ ซึ่งทำให้ง่ายต่อการเรียกใช้ฟังก์ชันของสัญญาที่เฉพาะเจาะจงมากขึ้น เหมือนกับวิธีการของ Javascript ตัวธรรมชาติ


Ethers.js และการโต้ตอบกับสมาร์ทคอนแทรค: BeInCrypto

การผสาน ENS

Ethers.js สามารถแปลงชื่อ ENS เป็นที่อยู่ Ethereum และกลับคืนมาได้ เรื่องนี้ช่วยลดความเสี่ยงจากข้อผิดพลาด

นี่คือโค้ดตัวอย่างสำหรับนี้:

const { ethers } = require(‘ethers’);

const provider = new ethers.providers.JsonRpcProvider('https://mainnet.infura.io/v3/YOUR_INFURA_PROJECT_ID’ไม่มีข้อความที่จะแปล

const ensName = ‘alice.eth’;

provider.resolveName(ensName).then((ที่อยู่) => {

console.log(`${ensName} ถูกแปลงเป็น ${address}`);

});

นอกจากคุณสมบัติที่กล่าวถึงข้างต้น Ethers.js ยังมีจุดเด่นหรือคุณสมบัติต่อไปนี้ที่ช่วยให้นักพัฒนาสามารถเข้าถึง Ethereum โดยตรง

  1. ผู้เซ็นชื่อ
  2. สาธารณูปโภค
  3. ผู้ฟังเหตุการณ์และตัวกรอง (ที่ใช้สำหรับเรียกใช้การตอบสนองแบบเรียลไทม์ต่อการดำเนินการบล็อกเชน)
  4. ธุรกรรม
  5. การสนับสนุนการโทรหลายรายการ
  6. การสนับสนุน TypeScript (เพื่อปรับปรุงความเชื่อถือของโค้ดและประสบการณ์การพัฒนาทั่วไป)

ประโยชน์ของการใช้ Ethers.js มีไม่มาก

https://twitter.com/juniorrbn_dev/status/1765370617937736000?ref_src=twsrc%5Etfw%7Ctwcamp%5Etweetembed%7Ctwterm%5E1765370617937736000%7Ctwgr%5Ec1f906e08013316a8e26d4dc6736b846d7473e55%7Ctwcon%5Es1&ref_url=https%3A%2F%2Fbeincrypto.com%2Flearn%2Fethers-js-explained%2F

วิชาการตีพิมพ์เกี่ยวกับวิธีการใช้ Ethers.js

สื่อต่างๆ เช่น BeInCrypto สามารถใช้ Ethers.js เพื่อสร้างเครื่องมือ web3 ที่ทันสมัยและมีประสิทธิภาพมาจากพื้นฐาน โดยวิธีนี้จะเป็นไปได้ที่จะใช้คุณสมบัติที่มีพลังงานจากบล็อกเชนหรือ Ethereum เพื่อเพิ่มประสิทธิภาพการใช้งาน นี่คือตัวเลือกที่หนึ่งสามารถพิจารณาได้

ข้อมูลฟีด

Ethers.js สามารถใช้ในการรวมข้อมูลเชิงสถิติของเครือข่ายแบบเรียลไทม์ได้ เช่น ข้อมูลเชิงสถิติของเครือข่ายค่าธรรมเนียมในการทำธุรกรรม, และอื่น ๆ เพื่อให้บทความและทรัพยากรยังคงอยู่เสมอ นี่คือรหัสตัวอย่างสำหรับการดึงหมายเลขบล็อกล่าสุด สำหรับบิตคอยน์ เพื่อติดตามการลดครึ่งเวลาในเวลาจริง

const { ethers } = require(‘ethers’);

const provider = new ethers.providers.JsonRpcProvider('https://mainnet.infura.io/v3/YOUR_INFURA_PROJECT_ID’;

provider.getBlockNumber().then((blockNumber) => {

console.log(“หมายเลขบล็อกปัจจุบัน:”, blockNumber);// ผสานข้อมูลนี้เข้ากับแพลตฟอร์มการตีพิมพ์ของคุณสำหรับการส่งข้อมูลแบบเรียลไทม์

});

เนื้อหาแบบอินเทอร์แอคทีฟ

สื่งของพิมพ์สามารถสร้างส่วนของเนื้อหาที่สามารถปฏิสัมพันธ์ได้ ทำให้ผู้ใช้สามารถปฏิสัมพันธ์โดยตรงกับสัญญาฉลากฉลอง ลงคะแนนในโพล หรือแม้กระทั้งเล่นเกมเล็ก ๆ ก็ได้ตามความต้องการ

นี่คือโค้ดตัวอย่างสำหรับการดึงข้อความต้อนรับเฉพาะกิจจากสัญญาอัจฉริยะ:

const { ethers } = require(‘ethers’);

const provider = new ethers.providers.Web3Provider(window.ethereum);

const contractAddress = ‘0x…’;

const contractABI = [

“ฟังก์ชั่น getGreeting() มองเห็น คืนค่า (สตริง)”

]

const contract = new ethers.Contract(contractAddress, contractABI, provider);

async function displayGreeting() {

const การทักทาย = await contract.getGreeting();document.getElementById(‘greeting’).innerText = การทักทาย;

}

เปิดบัญชีบน KuCoin & รับโบนัสที่รับรองได้สูงสุด 700 USDT

  1. เริ่มต้นการซื้อขายสกุลเงินดิจิทัลของคุณกับ KuCoin และได้รับการเริ่มต้นล่วงหน้า!
  2. ซื้อขายอย่างมั่นใจบน KuCoin! แพลตฟอร์มของเราจะให้ความสำคัญกับความปลอดภัยของคุณ และมีการป้องกันระดับยอดเยี่ยมสำหรับสินทรัพย์ดิจิทัลของคุณ
  3. สำรวจโลกของสกุลเงินดิจิทัลอันกว้างใหญ่กับ KuCoin!

ลงทะเบียนเดี๋ยวนี้!

ตัวอย่างจริงๆ ของวิธีการใช้ Ethers.js:

https://twitter.com/ronakpal1/status/1767071343345095092?ref_src=twsrc%5Etfw%7Ctwcamp%5Etweetembed%7Ctwterm%5E1767071343345095092%7Ctwgr%5Ec1f906e08013316a8e26d4dc6736b846d7473e55%7Ctwcon%5Es1&ref_url=https%3A%2F%2Fbeincrypto.com%2Flearn%2Fethers-js-explained%2F

การเผยแพร่แบบกระจาย

สื่อต่างๆ cũngสามารถพิจารณาในการเผยแพร่แบบกระจาย โดยที่ส่วนส่วนหนึ่งของบทความถูกเผยแพร่บนเครือข่ายบล็อกเชน ซึ่งสามารถช่วยในการต้านการเซ็นเซอร์และความสมบูรณ์ของเนื้อหา

นี่คือรหัสตัวอย่างที่แฮชบทความถูกเก็บออนไลน์เป็นหลักฐานในการเผยแพร่

const { ethers } = require('ethers');

const wallet = new ethers.Wallet(‘YOUR_PRIVATE_KEY’, provider);

const contentHash = ethers.utils.id(“เนื้อหาบทความที่นี่”);

const tx = await wallet.sendTransaction({

to: ‘0xSomeStorageContractAddress’,data: contentHash // ถ้าสมมติว่าสัญญายอมรับและเก็บข้อมูลนี้

});

console.log(“หมายเลขธุรกรรม (พิสูจน์การเผยแพร่):”, tx.hash);

นี่เป็นแค่บางส่วนของกรณีการใช้สำหรับสื่อพิมพ์ แต่ยังมีสายงานอื่นที่สามารถใช้พลังงานของ ethers.js ได้ ซึ่งรวมถึง:

  1. นักพัฒนาบล็อกเชน (คาดว่า)
  2. นักวิเคราะห์การเงินที่ทำงานกับDeFi metrics
  3. นักพัฒนาเกม
  4. ผู้สร้างเนื้อหา
  5. ผู้จัดการโซ่อุปทาน

และอื่น ๆ

การประยุกต์ใช้งานในโลกของ Ethers.js

นอกจากจะมีประโยชน์ในDeFi, NFT และโครงการเกมมิ่ง มี DApps ที่มีอยู่บางอย่างที่รองรับการใช้งาน Ethers.js ดังต่อไปนี้:

  1. Uniswap: Ether.js โต้ตอบกับสัญญาฉลาดของ Uniswap เพื่อดำเนินการซื้อขาย การเพิ่ม Likelihood และการสอบถามสถิติของสระน้ำ ในกรณีนี้ นักพัฒนา DApp วางแผนที่จะสร้างเครื่องมือที่โต้ตอบกับ Uniswap เช่น trading bots ผู้จัดการพอร์ตการจัดการเงินและอื่น ๆ
  2. Aave: นักพัฒนา DApp และผู้ที่สนใจอื่น ๆ สามารถใช้ฟังก์ชัน Ether.js เพื่อติดต่อกับสัญญาฉลากของ Aave โดยเฉพาะ นั้นทำให้พวกเขาสามารถเตรียมพร้อมสำหรับส่วนหน้าสำหรับการยืมสินทรัพย์ การฝากหลักทรัพย์ และการกระทำเพิ่มเติม

ทำลายนิทานของ Ether.js บางเรื่อง:

https://twitter.com/imashuttoshh/status/1765558806291894739?refsrc=twsrc%5Etfw%7Ctwcamp%5Etweetembed%7Ctwterm%5E1765558806291894739%7Ctwgr%5Ec1f906e08013316a8e26d4dc6736b846d7473e55%7Ctwcon%5Es1&ref_url=https%3A%2F%2Fbeincrypto.com%2Flearn%2Fethers-js-explained%2F

ข้อควรระวังในด้านความปลอดภัย

การใช้ Ethers.js มาพร้อมกับชุดคำสั่งที่สมบูรณ์ความปลอดภัยคำนึงถึง นี่คือสิ่งที่ควรปฏิบัติตามบางอย่าง

  1. ควรหลีกเลี่ยงการเขียนรหัสส่วนตัวลงในโค้ดเบสของแอปพลิเคชันของคุณ
  2. ทุกการกระทำของสัญญาอัจฉริยะควรได้รับการทดสอบและตรวจสอบสัญญาอย่างและละเอียด
  3. เมื่อคุณมีการโต้ตอบกับสมาร์ทคอนแทร็ค ให้ใช้รูปแบบที่ปลอดภัย เช่น "เรียก" สำหรับงานที่อ่านอย่างเดียว
  4. เพื่อปรับปรุงการใช้ ethers.js คุณอาจต้องพิจารณาการร้องขอแบทชิ่ง นี่คือที่คุณสามารถแบทช์ เช่น การร้องขออ่านอย่างเดียวเพื่อลดจำนวนการเรียกเครือข่าย ไม่ต้องบอกก็ได้ว่าเทคนิคการปรับปรุงเหล่านี้สามารถทำให้แอปพลิเคชันมีความยืดหยุ่นสูงและประหยัดต้นทุน

นี่คือตัวอย่างของวิธีการทำงาน

// รหัสปลอมสำหรับการจัดกลุ่มการเรียกใช้สัญญาด้วย Ethers.js (ตัวอย่างแนวคิด)

const contract = new ethers.Contract(address, abi, provider);

const [value1, value2, value3] = await Promise.all([

contract.viewFunction1(),contract.viewFunction2(),contract.viewFunction3()

]);

Ethers.js: เครื่องมือหลากหลายใช้งาน

สนับสนุน

https://harambetoken.ai/?domain=beincrypto&banner=header-banner-3&cpid=1ce31526-203f-4d6a-bf00-af77d6cf6edd

ตามที่แสดงในคู่มือนี้ Ethers.js เป็นเครื่องมือหลากหลาย ในขณะที่เราได้มองซะเร็ว ๆ ในความสามารถของมัน วิธีที่ดีที่สุดในการเข้าใจ Ethers.js อย่างสมบูรณ์คือการลงลึกในโลกของสมาร์ทคอนแทรค จาวาสคริปต์ IDEs DApps และอื่น ๆ นอกจากนี้ การเข้าร่วมชุมชน Ethereum และ Ethers ก็มีประโยชน์

คำถามที่พบบ่อย

นักพัฒนาสามารถใช้เหตุการณ์ Ethers.js ได้อย่างไร?

Ethers.js มีการให้บริการสิ่งจำเป็นหลักอะไรบ้าง?

ความเชื่อมโยงระหว่าง Ethers.js และ Web3.js คืออะไร?

คำปฏิเสธ:

  1. บทความนี้ถูกคัดลอกมาจาก [Etherbeincrypto], All copyrights belong to the original author [Ananda Banerjee]. หากมีข้อขัดแย้งใด ๆ เกี่ยวกับการพิมพ์ฉบับนี้ กรุณาติดต่อGate Learnทีม และพวกเขาจะจัดการด้วยรวดเร็ว
  2. คำโฆษณาความรับผิด: มุมมองและความคิดเห็นที่แสดงในบทความนี้เป็นเพียงเรื่องของผู้เขียนเท่านั้น และไม่เป็นที่ปรึกษาด้านการลงทุนใด ๆ
  3. การแปลบทความเป็นภาษาอื่นๆ ทำโดยทีม Gate Learn หากไม่ได้กล่าวถึง การคัดลอก การแจกจ่าย หรือการลอกเลียนบทความที่ถูกแปลนั้นถูกห้าม

อะไรคือ Ethers.js? การศึกษาลึกลงในไลบรารี JavaScript ของ Ethereum

มือใหม่3/18/2024, 8:47:39 AM
Ethereum เป็นโปรโตคอลบล็อกเชนที่มีชุดเครื่องมือที่มีชื่อเสียง สัญญาเชื่อมัคร์ และระบบนิเวศที่ประสานโค้ด พึงพอใจใน ethers.js (ห้องสมุด Javascript) ที่จำเป็นสำหรับการให้ความมีกำลังที่จำเป็นสำหรับการใช้วิธีการแนวทางนักพัฒนา

หากคุณกำลังสนใจ Ether (ETH) มากกว่าผู้เล่นคริปโตอื่น ๆ คุณควรใช้เวลาสักครู่เพื่อเข้าใจ Ethereum จากมุมมองทางเทคนิคมากขึ้น โปรโตคอลบล็อกเชนที่เป็นที่รู้จักด้วยชุดเครื่องมือ สัญญาอัจฉริยะ และระบบนิเวศที่สอดคล้องกับโค้ด Ethereum มีการพึ่งพาอย่างมากใน ethers.js — ห้องสมุด Javascript — เพื่อให้วิธีการเน้นผู้พัฒนาของมันมีประสิทธิภาพที่จำเป็น

ในขณะที่ ethers.js ไม่ใช่ไลบรารี JavaScript ต้นฉบับของ Ethereum เท่านั้น แต่มันเป็นทางเลือกที่ดีกว่าสำหรับ DApps ขนาดเล็ก ในคู่มือนี้ เราได้ศึกษาลึกลงไปในด้านของ ethers.js เพื่อช่วยให้คุณเข้าใจแนวคิดเทคนิคนี้

ในคู่มือนี้:

  1. การแยกแพ็ค ethers.js
  2. ทำไม ethers.js สำคัญ
  3. อธิบายรายละเอียดเวอร์ชัน Ethers.js ทั้งหมด
  4. เริ่มต้นกับ ethers.js
  5. คุณสมบัติหลัก
  6. วิชาการเขียนเรียกใช้ Ethers.js ได้อย่างไร
  7. การประยุกต์ใช้งานในโลกของ Ethers.js
  8. ความสำคัญของความปลอดภัย
  9. Ethers.js: เครื่องมือที่หลากหลาย
  10. คำถามที่ถามบ่อย

การแยกบรรจุ ethers.js

ethers.js เป็นไลบรารี JavaScript — ชุดรหัสที่เขียนไว้ล่วงหน้าที่อัตโนมัติหลายฟังก์ชัน การใช้ไลบรารี JavaScript สำหรับการพัฒนาสามารถลดความพยายามในการเขียนรหัส กระบวนการกลายเป็นเพื่อนบ้านของผู้ใช้มากขึ้น และสำหรับนักพัฒนา DApp ไลบรารีเหล่านี้ช่วยให้ฟังก์ชันพิเศษที่เฉพาะของบล็อกเชนเบื้องต้นเป็นชุดพร้อมใช้งาน

Ethers.js และวงจรการพัฒนา: BeInCrypto

นี่คือ GitHubrepositoryสำหรับห้องสมุด

JavaScript libraries คืออะไร?

ก่อนที่เราจะลงลึกใน ethers.js มาดู JavaScript libraries ให้ลึกซึ้งกันก่อน ไลบรารีเหล่านี้เป็นชุดของโค้ด JavaScript ที่เขียนไว้ล่วงหน้า ที่สามารถทำงานอัตโนมัติกับงานทั่วไปบางอย่าง การใช้ไลบรารีเช่น ethers.js สามารถช่วยเร่งกระบวนการสร้าง DApp และยังเร่งความสามารถในการทำงานกับบล็อกเชนอื่น ๆ ได้อีกด้วย

ทำไมเราต้องใช้ไลบรารี JavaScript ใน Ethereum ครับ?

Ethereum ได้รับการพัฒนาเป็นแพลตฟอร์มสำหรับการพัฒนาซอฟต์แวร์แบบไม่มีการกำหนดสมาร์ทคอนแทรคไปDeการใช้งานแอปพลิเคชันทางการเงินไปสู่ DApps การเขียนโค้ดเป็นส่วนสำคัญของนิเวศ Ethereum นั่นคือเหตุผลที่หนึ่งที่ไลบรารี JavaScript ที่ถูกปรับให้เหมาะกับ Ethereum เช่น ethers.js ถูกสร้างขึ้น โดยใช้ไลบรีเหล่านี้ นักพัฒนาสามารถเชื่อมต่อกับเครือข่าย ใช้งานและโต้ตอบกับสมาร์ทคอนแทรค และจัดการได้ง่ายบล็อกเชนข้อมูล

คุณรู้หรือไม่? Ethers.js ไม่ใช่เพียงไลบรารี Javascript ของ Ethereum ที่รู้จักอย่างเดียว อีกหนึ่งไลบรารีที่โดดเด่นคือ Web3.js ซึ่งถูกก่อตั้งโดย Ethereum Foundation Web3.js โด่งดังด้วยคอลเล็กชันแบบเบ็ดเสร็จและได้รับการพิจารณาว่าเหมาะสำหรับ DApps ที่ซับซ้อนมากขึ้น

ทำไม ethers.js ถึงสำคัญ?

ตามที่กล่าวมาแล้ว ethers.js เน้นไปที่นักพัฒนาที่มีส่วนร่วมกับบล็อกเชน Ethereum ในเรื่องความสำคัญ ไลบรารีที่พัฒนาโดย Richard Moore และตลาดธุรกิจในชื่อ "Ethers" มีประโยชน์สำหรับงานดังต่อไปนี้:

  1. การทำให้เรื่องธุรกรรม Ethereum หลายรายการง่ายขึ้น
  2. ให้การเข้าถึงเอกสารและทรัพยากรที่ครอบคลุม
  3. สนับสนุนการพัฒนา DApp


นิเวศเอทเคอร์นิคโคเซียมและบทบาทที่สามารถเป็นได้: BeInCrypto

นี่คือตัวอย่างรหัสสำหรับดึงยอดคงเหลือปัจจุบันของบัญชี Ethereum อย่างรวดเร็ว มาอ่านรหัสก่อนและเข้าใจว่า ethers.js ทำให้ชีวิตง่ายขึ้น

const { ethers } = require(‘ethers’);

// เชื่อมต่อกับเครือข่าย Ethereum

const provider = new ethers.providers.JsonRpcProvider(‘https://mainnet.infura.io/v3/YOUR_INFURA_API_KEY’);

// ระบุที่อยู่บัญชี

const accountAddress = ‘0xABC123…’;

// เรียกดึงและแสดงยอดเงิน

provider.getBalance(accountAddress).then((balance) => {

// แปลงยอดคงเหลือจาก Wei เป็น Ether const balanceInEther = ethers.utils.formatEther(balance); console.log(`ยอดคงเหลือ: ${balanceInEther} ETH`);

});

ในตัวอย่างนี้ คุณสามารถเห็นได้อย่างชัดเจนว่าคำสั่ง — ethers.providers.JsonRpcProvider — เรียกใช้จุดปลายทาง Infura และ getBalance เรียกดึงยอดคงเหลือ คุณไม่จำเป็นต้องรับมือโดยตรงกับ JSON RPC หรือการเรียกใช้ขั้นตอนระยะไกลของ Ethereum ในกรณีนี้ คุณสามารถคิดถึง ethers.js เป็นตัวแปลที่ทำให้ Ethereum เป็นเรื่องง่ายและเข้าใจได้มากขึ้นสำหรับคุณ

ยังไม่แน่ใจถึงความสำคัญของ ethers.js หรือไม่? นี่คือการเปรียบเทียบอย่างรวดเร็ว

คิดถึง ethers.js เหมือนบัตรห้องสมุดเก่า จำได้ไหมว่าบัตรเหล่านั้นมีดัชนี ที่ช่วยให้คุณค้นหาหนังสือที่ถูกต้องโดยการหาแถวและหมายเลขชั้น? นี่คือเป้าหมายของ ethers.js มันทำให้ Ethereum มีความสามารถอย่างมากมาย โดยอนุญาตให้นักพัฒนาพบว่าสิ่งที่พวกเขาต้องการอย่างแน่นอน

https://twitter.com/wondernw/status/1764751034096800009?ref_src=twsrc%5Etfw%7Ctwcamp%5Etweetembed%7Ctwterm%5E1764751034096800009%7Ctwgr%5Ec1f906e08013316a8e26d4dc6736b846d7473e55%7Ctwcon%5Es1&ref_url=https%3A%2F%2Fbeincrypto.com%2Flearn%2Fethers-js-explained%2F

อธิบายรายละเอียดเวอร์ชันทั้งหมดของ Ethers.js

ในระหว่างหลายปีที่ผ่านมา มีการเผยแพร่เวอร์ชัน Ethers.js หลายรุ่น โดยแต่ละรุ่นจะนำเสนอคุณลักษณะใหม่หรือการแก้บั๊ก นอกจากนี้ การเวอร์ชันจะปฏิบัติตามมาตรฐานซีมิแนนติก เช่น v1.2.3 โดยที่ตัวเลขตัวแรกแสดงถึงเวอร์ชันหลัก และตัวเลขที่สองและสามแสดงถึงเวอร์ชันรองและแพทช์ เราจะพิจารณาเฉพาะการอัพเกรดเวอร์ชันหลักเท่านั้นในขณะนี้ — การเปลี่ยนแปลงที่อาจไม่สามารถทำให้ย้อนกลับได้

  1. เวอร์ชัน 1.x (ที่เป็นที่มา): นี่คือการเปิดตัวครั้งแรก ตามด้วยคุณลักษณะที่เกี่ยวข้องกับการเซ็นต์รายการธุรกรรม การจัดการกระเป๋าสตางค์ และอื่น ๆ
  2. เวอร์ชัน 2.x (Ethers กระเป๋าสตางค์): มุ่งเน้นไปที่สิ่งอำนวยความสะดวกและคุณลักษณะของกระเป๋าสตางค์ รวมถึงการเก็บรักษาอย่างปลอดภัยคีย์ส่วนตัว.
  3. เวอร์ชัน 3.x (Ethers provider): นำเสนอการแยกระบบสำหรับเชื่อมต่อกับโหนด Ethereum ผู้เล่นประเภทต่าง ๆ ได้รับการต้อนรับ เช่น Infura, WebSockets, และอื่น ๆ
  4. เวอร์ชัน 4.x (สัญญา Ethers): คุณสมบัติที่นำทางด้วยสัญญาฉลาดถูกขยายออกไป พร้อมกับสิ่งอำนวยความสะดวกมากขึ้นสำหรับการเข้ารหัสและถอดรหัสข้อมูล ตัวกรองเหตุการณ์ และอื่น ๆ
  5. เวอร์ชัน 5.x: มีโครงสร้างแบบโมดูลาร์, รองรับการปรับปรุงเพิ่มเติมสำหรับENS, การจัดการข้อผิดพลาดอย่างเป็นระบบ และอื่น ๆ
  6. เวอร์ชัน 6.x: การรวมคุณลักษณะ ES6, การเริ่มใช้ BigInt, การเข้าถึงโอเวอร์โหลด, และอื่น ๆ


สถาปัตยกรรมและองค์ประกอบของ Ethers.js: BeInCrypto

https://harambetoken.ai/?domain=beincrypto&banner=header-banner-3&cpid=1ce31526-203f-4d6a-bf00-af77d6cf6edd

คุณสามารถหาข้อมูลเพิ่มเติมเกี่ยวกับแต่ละเวอร์ชันได้โดยการดูที่ Ethers.js’เอกสารเดิม.

“Ethers.js ส่องแสงด้วยความสามารถในการทำงานร่วมกับบล็อกเชนที่ยอดเยี่ยม รองรับ TypeScript แบบเดิม และเครื่องมือในการแก้ปัญหาที่ขั้นสูง มันเป็นไลบรารีที่เล็กกระชับซึ่งสามารถผสมผสานอย่างลื่นไหลในเฟรมเวิร์กยอดนิยม เช่น React, Vue, Angular ฯลฯ”

Redbelly Intern, Builder: X

เริ่มต้นใช้ ethers.js

ก่อนที่คุณจะวางแผนการใช้โอกาสที่ ethers.js เสียก่อนเรื่องสำคัญที่ควรทราบคือ ณ ขั้นตอนใดของการพัฒนา DApp หรือสมาร์ทคอนแทรคที่มันถูกเรียกใช้ นี่คือการแบ่งส่วนโดยรวมอย่างรวดเร็วสำหรับผู้ที่ต้องการทราบและเข้าใจองค์ประกอบเหล่านี้จากเริ่มต้น

Web3.js เหมาะสำหรับมือใหม่และกระชับกว่า ethers.js

Ethers.js, อีกอย่างที่ให้ตัวเลือกมากขึ้นและเป็นเท่วัยใหม่; มันเรียบง่ายน้อยกว่า Web3.js.

degenBRo, นักพัฒนาบล็อกเชนและผู้ก่อตั้งของ Solidity Finance: ที่บอกให้ BeInCrypto

เพื่อเริ่มต้น คุณต้องเปิดคอมพิวเตอร์และติดตั้งสภาพแวดล้อมสำหรับนักพัฒนา ซึ่งรวมถึง Node.js และ Integrated Development Environment โปรดทราบว่า JavaScript 通常ทำงานบนเบราว์เซอร์ แต่ด้วย Node.js สามารถทำงานเช่นเดียวกันบนคอมพิวเตอร์ มันเป็นสภาพแวดล้อมรันไทม์ของ Node.js ที่ติดตั้งไลบรารี JavaScript เช่น ethers.js

สำหรับ IDE ซึ่งนักพัฒนาซอฟต์แวร์ต้องการทดสอบ คุณสามารถพิจารณา VS Code, Sublime Text หรืออะไรก็ตาม

https://twitter.com/juniorrbn_dev/status/1765370597066862749?ref_src=twsrc%5Etfw%7Ctwcamp%5Etweetembed%7Ctwterm%5E1765370597066862749%7Ctwgr%5Ec1f906e08013316a8e26d4dc6736b846d7473e55%7Ctwcon%5Es1&ref_url=https%3A%2F%2Fbeincrypto.com%2Flearn%2Fethers-js-explained%2F

การติดตั้งการสนับสนุน ethers.js

ขั้นตอนถัดไปคือการติดตั้ง Ethers, ไลบรารีที่ใช้เก็บ ethers.js

npm ติดตั้ง ethers

จากนั้นคุณต้องใช้ Ether เพื่อเชื่อมต่อกับ กระเป๋าเงิน Ethereumเนื่องจากการโต้ตอบกับบล็อกเชนจะต้องใช้ขั้นตอนนี้สำหรับการตรวจสอบข้อมูลประจำตัว คุณสามารถใช้ไลบรารี Ethers ที่ติดตั้งไว้สำหรับการนี้ นี่คือคำสั่งตัวอย่าง:

/Related

บทความเพิ่มเติม

Ethereum ETF อธิบาย: มันคืออะไรและทำงานอย่างไร

14 นาที 15 มีนาคม 2024 3 วัน ที่ผ่านมา

วิธีการรับเงินเดือนด้วยบิตคอยน์ (BTC): ทุกอย่างที่คุณต้องรู้

25 นาที 15 มีนาคม 2024 2 วันที่ผ่านมา

const { ethers } = require(‘ethers’);

// เชื่อมต่อกับMetaMask กระเป๋าเงิน

const provider = new ethers.providers.Web3Provider(window.ethereum);

เมื่อเสร็จสิ้นแล้ว คุณสามารถใช้ IDE เพื่อเขียนโค้ด solidity และสร้างสัญญาสมาร์ทสำหรับ DApps Ethers.js จะถูกใช้ในการ implement เช่นเดียวกัน คุณสามารถทดสอบ DApp หรือสัญญาในระดับท้องถิ่น โดยใช้สภาพแวดล้อมเช่นTruffleและ Hardhat จากนั้นคุณจะติดตั้งสัญญาบนเครือข่าย Ethereum ซึ่งต้องใช้ ethers.js

const contract = new ethers.ContractFactory(abi, bytecode, signer);

const deployedContract = await contract.deploy();

สำหรับ unversed abi, Bytecode, Signer เป็นคำศัพท์ที่จำเป็นสำหรับการพัฒนาสมาร์ทคอนแทรคอย่างราบรื่น Abi หรือ application binary interface เหมือนป้ายชื่อที่ช่วยให้เครือข่ายรู้จักสมาร์ทคอนแทรคของคุณ Bytecode คือเวอร์ชันที่คอมไพล์หรือเวอร์ชันพร้อมใช้งานในเครือข่ายของสมาร์ทคอนแทรคและ signer คือผู้สร้างลายเซ็น

Ethers.js สำหรับฝั่งหน้า

เมื่อสมาร์ทคอนแทรกซ์ถูกใช้งาน คุณจำเป็นต้องสร้างส่วนหน้าหรืออินเตอร์เฟซผู้ใช้ของ DApp สำหรับสิ่งนี้ คุณสามารถใช้ Angular หรือ React คุณยังสามารถรวม Ethers.js ในส่วนหน้าเพื่อให้มั่นใจว่ามันสามารถปฏิสัมพันธ์กับสมาร์ทคอนแทรกซ์ Ethereum นี่คือโค้ดตัวอย่างสำหรับสิ่งเดียวกัน

const provider = new ethers.providers.Web3Provider(window.ethereum);

const contract = new ethers.Contract(contractAddress, contractABI, provider.getSigner());

หลังจากนี้คุณต้องทดสอบ DApp บน testnet เช่น Rinkeby หรือ Ropsten หลังจากที่คุณพอใจคุณสามารถเปิด DApp บน mainnet โปรดสังเกตว่ามีกี่ครั้งตลอดกระบวนการที่คุณต้องปฏิสัมพันธ์กับ Ethers หรือ ethers.js

คุณสมบัติหลัก

Ethers.js เป็นไลบรารี Ethereum อย่างครอบคลุม นี่คือบางสิ่งที่ให้บริการที่เป็นพิเศษที่ทำให้ชีวิตของนักพัฒนาง่ายขึ้น:

ผู้ให้บริการ

ผู้ให้บริการ Ethers.js ทำหน้าที่เป็นสะพานระหว่างเครือข่าย Ethereum และ DApp ที่คุณกำลังทำงาน ซึ่งรวมถึงการทำให้การค้นข้อมูลบล็อกเชนง่ายขึ้น และช่วยในการส่งออกธุรกรรม อินฟูร่าเป็นหนึ่งในผู้ให้บริการที่ Ethers.js ใช้

นี่คือรหัสตัวอย่างสำหรับเดียวกัน:

const { ethers } = require(‘ethers’);

// เชื่อมต่อโดยใช้ Infura

const provider = new ethers.providers.JsonRpcProvider(‘https://mainnet.infura.io/v3/YOUR_INFURA_PROJECT_ID’ไม่สามารถแปลข้อความ

// ตรวจสอบหมายเลขบล็อกปัจจุบัน

provider.getBlockNumber().then((blockNumber) => {

console.log(“หมายเลขบล็อกปัจจุบัน:”, blockNumber);

});

กระเป๋าเงิน

Ethers.js ช่วยให้คุณจัดการกระเป๋าเงิน ช่วยให้คุณสร้างบัญชีใหม่ นำเข้าบัญชีที่มีอยู่ จัดการกุญแจส่วนตัวอย่างปลอดภัยสำหรับการเซ็นรายการธุรกรรม และอื่น ๆ

สัญญา

https://harambetoken.ai/?domain=beincrypto&banner=header-banner-3&cpid=1ce31526-203f-4d6a-bf00-af77d6cf6edd

ส่วนนี้ของ Ethers.js' มีการสนับสนุนการสร้างวัตถุ ซึ่งทำให้ง่ายต่อการเรียกใช้ฟังก์ชันของสัญญาที่เฉพาะเจาะจงมากขึ้น เหมือนกับวิธีการของ Javascript ตัวธรรมชาติ


Ethers.js และการโต้ตอบกับสมาร์ทคอนแทรค: BeInCrypto

การผสาน ENS

Ethers.js สามารถแปลงชื่อ ENS เป็นที่อยู่ Ethereum และกลับคืนมาได้ เรื่องนี้ช่วยลดความเสี่ยงจากข้อผิดพลาด

นี่คือโค้ดตัวอย่างสำหรับนี้:

const { ethers } = require(‘ethers’);

const provider = new ethers.providers.JsonRpcProvider('https://mainnet.infura.io/v3/YOUR_INFURA_PROJECT_ID’ไม่มีข้อความที่จะแปล

const ensName = ‘alice.eth’;

provider.resolveName(ensName).then((ที่อยู่) => {

console.log(`${ensName} ถูกแปลงเป็น ${address}`);

});

นอกจากคุณสมบัติที่กล่าวถึงข้างต้น Ethers.js ยังมีจุดเด่นหรือคุณสมบัติต่อไปนี้ที่ช่วยให้นักพัฒนาสามารถเข้าถึง Ethereum โดยตรง

  1. ผู้เซ็นชื่อ
  2. สาธารณูปโภค
  3. ผู้ฟังเหตุการณ์และตัวกรอง (ที่ใช้สำหรับเรียกใช้การตอบสนองแบบเรียลไทม์ต่อการดำเนินการบล็อกเชน)
  4. ธุรกรรม
  5. การสนับสนุนการโทรหลายรายการ
  6. การสนับสนุน TypeScript (เพื่อปรับปรุงความเชื่อถือของโค้ดและประสบการณ์การพัฒนาทั่วไป)

ประโยชน์ของการใช้ Ethers.js มีไม่มาก

https://twitter.com/juniorrbn_dev/status/1765370617937736000?ref_src=twsrc%5Etfw%7Ctwcamp%5Etweetembed%7Ctwterm%5E1765370617937736000%7Ctwgr%5Ec1f906e08013316a8e26d4dc6736b846d7473e55%7Ctwcon%5Es1&ref_url=https%3A%2F%2Fbeincrypto.com%2Flearn%2Fethers-js-explained%2F

วิชาการตีพิมพ์เกี่ยวกับวิธีการใช้ Ethers.js

สื่อต่างๆ เช่น BeInCrypto สามารถใช้ Ethers.js เพื่อสร้างเครื่องมือ web3 ที่ทันสมัยและมีประสิทธิภาพมาจากพื้นฐาน โดยวิธีนี้จะเป็นไปได้ที่จะใช้คุณสมบัติที่มีพลังงานจากบล็อกเชนหรือ Ethereum เพื่อเพิ่มประสิทธิภาพการใช้งาน นี่คือตัวเลือกที่หนึ่งสามารถพิจารณาได้

ข้อมูลฟีด

Ethers.js สามารถใช้ในการรวมข้อมูลเชิงสถิติของเครือข่ายแบบเรียลไทม์ได้ เช่น ข้อมูลเชิงสถิติของเครือข่ายค่าธรรมเนียมในการทำธุรกรรม, และอื่น ๆ เพื่อให้บทความและทรัพยากรยังคงอยู่เสมอ นี่คือรหัสตัวอย่างสำหรับการดึงหมายเลขบล็อกล่าสุด สำหรับบิตคอยน์ เพื่อติดตามการลดครึ่งเวลาในเวลาจริง

const { ethers } = require(‘ethers’);

const provider = new ethers.providers.JsonRpcProvider('https://mainnet.infura.io/v3/YOUR_INFURA_PROJECT_ID’;

provider.getBlockNumber().then((blockNumber) => {

console.log(“หมายเลขบล็อกปัจจุบัน:”, blockNumber);// ผสานข้อมูลนี้เข้ากับแพลตฟอร์มการตีพิมพ์ของคุณสำหรับการส่งข้อมูลแบบเรียลไทม์

});

เนื้อหาแบบอินเทอร์แอคทีฟ

สื่งของพิมพ์สามารถสร้างส่วนของเนื้อหาที่สามารถปฏิสัมพันธ์ได้ ทำให้ผู้ใช้สามารถปฏิสัมพันธ์โดยตรงกับสัญญาฉลากฉลอง ลงคะแนนในโพล หรือแม้กระทั้งเล่นเกมเล็ก ๆ ก็ได้ตามความต้องการ

นี่คือโค้ดตัวอย่างสำหรับการดึงข้อความต้อนรับเฉพาะกิจจากสัญญาอัจฉริยะ:

const { ethers } = require(‘ethers’);

const provider = new ethers.providers.Web3Provider(window.ethereum);

const contractAddress = ‘0x…’;

const contractABI = [

“ฟังก์ชั่น getGreeting() มองเห็น คืนค่า (สตริง)”

]

const contract = new ethers.Contract(contractAddress, contractABI, provider);

async function displayGreeting() {

const การทักทาย = await contract.getGreeting();document.getElementById(‘greeting’).innerText = การทักทาย;

}

เปิดบัญชีบน KuCoin & รับโบนัสที่รับรองได้สูงสุด 700 USDT

  1. เริ่มต้นการซื้อขายสกุลเงินดิจิทัลของคุณกับ KuCoin และได้รับการเริ่มต้นล่วงหน้า!
  2. ซื้อขายอย่างมั่นใจบน KuCoin! แพลตฟอร์มของเราจะให้ความสำคัญกับความปลอดภัยของคุณ และมีการป้องกันระดับยอดเยี่ยมสำหรับสินทรัพย์ดิจิทัลของคุณ
  3. สำรวจโลกของสกุลเงินดิจิทัลอันกว้างใหญ่กับ KuCoin!

ลงทะเบียนเดี๋ยวนี้!

ตัวอย่างจริงๆ ของวิธีการใช้ Ethers.js:

https://twitter.com/ronakpal1/status/1767071343345095092?ref_src=twsrc%5Etfw%7Ctwcamp%5Etweetembed%7Ctwterm%5E1767071343345095092%7Ctwgr%5Ec1f906e08013316a8e26d4dc6736b846d7473e55%7Ctwcon%5Es1&ref_url=https%3A%2F%2Fbeincrypto.com%2Flearn%2Fethers-js-explained%2F

การเผยแพร่แบบกระจาย

สื่อต่างๆ cũngสามารถพิจารณาในการเผยแพร่แบบกระจาย โดยที่ส่วนส่วนหนึ่งของบทความถูกเผยแพร่บนเครือข่ายบล็อกเชน ซึ่งสามารถช่วยในการต้านการเซ็นเซอร์และความสมบูรณ์ของเนื้อหา

นี่คือรหัสตัวอย่างที่แฮชบทความถูกเก็บออนไลน์เป็นหลักฐานในการเผยแพร่

const { ethers } = require('ethers');

const wallet = new ethers.Wallet(‘YOUR_PRIVATE_KEY’, provider);

const contentHash = ethers.utils.id(“เนื้อหาบทความที่นี่”);

const tx = await wallet.sendTransaction({

to: ‘0xSomeStorageContractAddress’,data: contentHash // ถ้าสมมติว่าสัญญายอมรับและเก็บข้อมูลนี้

});

console.log(“หมายเลขธุรกรรม (พิสูจน์การเผยแพร่):”, tx.hash);

นี่เป็นแค่บางส่วนของกรณีการใช้สำหรับสื่อพิมพ์ แต่ยังมีสายงานอื่นที่สามารถใช้พลังงานของ ethers.js ได้ ซึ่งรวมถึง:

  1. นักพัฒนาบล็อกเชน (คาดว่า)
  2. นักวิเคราะห์การเงินที่ทำงานกับDeFi metrics
  3. นักพัฒนาเกม
  4. ผู้สร้างเนื้อหา
  5. ผู้จัดการโซ่อุปทาน

และอื่น ๆ

การประยุกต์ใช้งานในโลกของ Ethers.js

นอกจากจะมีประโยชน์ในDeFi, NFT และโครงการเกมมิ่ง มี DApps ที่มีอยู่บางอย่างที่รองรับการใช้งาน Ethers.js ดังต่อไปนี้:

  1. Uniswap: Ether.js โต้ตอบกับสัญญาฉลาดของ Uniswap เพื่อดำเนินการซื้อขาย การเพิ่ม Likelihood และการสอบถามสถิติของสระน้ำ ในกรณีนี้ นักพัฒนา DApp วางแผนที่จะสร้างเครื่องมือที่โต้ตอบกับ Uniswap เช่น trading bots ผู้จัดการพอร์ตการจัดการเงินและอื่น ๆ
  2. Aave: นักพัฒนา DApp และผู้ที่สนใจอื่น ๆ สามารถใช้ฟังก์ชัน Ether.js เพื่อติดต่อกับสัญญาฉลากของ Aave โดยเฉพาะ นั้นทำให้พวกเขาสามารถเตรียมพร้อมสำหรับส่วนหน้าสำหรับการยืมสินทรัพย์ การฝากหลักทรัพย์ และการกระทำเพิ่มเติม

ทำลายนิทานของ Ether.js บางเรื่อง:

https://twitter.com/imashuttoshh/status/1765558806291894739?refsrc=twsrc%5Etfw%7Ctwcamp%5Etweetembed%7Ctwterm%5E1765558806291894739%7Ctwgr%5Ec1f906e08013316a8e26d4dc6736b846d7473e55%7Ctwcon%5Es1&ref_url=https%3A%2F%2Fbeincrypto.com%2Flearn%2Fethers-js-explained%2F

ข้อควรระวังในด้านความปลอดภัย

การใช้ Ethers.js มาพร้อมกับชุดคำสั่งที่สมบูรณ์ความปลอดภัยคำนึงถึง นี่คือสิ่งที่ควรปฏิบัติตามบางอย่าง

  1. ควรหลีกเลี่ยงการเขียนรหัสส่วนตัวลงในโค้ดเบสของแอปพลิเคชันของคุณ
  2. ทุกการกระทำของสัญญาอัจฉริยะควรได้รับการทดสอบและตรวจสอบสัญญาอย่างและละเอียด
  3. เมื่อคุณมีการโต้ตอบกับสมาร์ทคอนแทร็ค ให้ใช้รูปแบบที่ปลอดภัย เช่น "เรียก" สำหรับงานที่อ่านอย่างเดียว
  4. เพื่อปรับปรุงการใช้ ethers.js คุณอาจต้องพิจารณาการร้องขอแบทชิ่ง นี่คือที่คุณสามารถแบทช์ เช่น การร้องขออ่านอย่างเดียวเพื่อลดจำนวนการเรียกเครือข่าย ไม่ต้องบอกก็ได้ว่าเทคนิคการปรับปรุงเหล่านี้สามารถทำให้แอปพลิเคชันมีความยืดหยุ่นสูงและประหยัดต้นทุน

นี่คือตัวอย่างของวิธีการทำงาน

// รหัสปลอมสำหรับการจัดกลุ่มการเรียกใช้สัญญาด้วย Ethers.js (ตัวอย่างแนวคิด)

const contract = new ethers.Contract(address, abi, provider);

const [value1, value2, value3] = await Promise.all([

contract.viewFunction1(),contract.viewFunction2(),contract.viewFunction3()

]);

Ethers.js: เครื่องมือหลากหลายใช้งาน

สนับสนุน

https://harambetoken.ai/?domain=beincrypto&banner=header-banner-3&cpid=1ce31526-203f-4d6a-bf00-af77d6cf6edd

ตามที่แสดงในคู่มือนี้ Ethers.js เป็นเครื่องมือหลากหลาย ในขณะที่เราได้มองซะเร็ว ๆ ในความสามารถของมัน วิธีที่ดีที่สุดในการเข้าใจ Ethers.js อย่างสมบูรณ์คือการลงลึกในโลกของสมาร์ทคอนแทรค จาวาสคริปต์ IDEs DApps และอื่น ๆ นอกจากนี้ การเข้าร่วมชุมชน Ethereum และ Ethers ก็มีประโยชน์

คำถามที่พบบ่อย

นักพัฒนาสามารถใช้เหตุการณ์ Ethers.js ได้อย่างไร?

Ethers.js มีการให้บริการสิ่งจำเป็นหลักอะไรบ้าง?

ความเชื่อมโยงระหว่าง Ethers.js และ Web3.js คืออะไร?

คำปฏิเสธ:

  1. บทความนี้ถูกคัดลอกมาจาก [Etherbeincrypto], All copyrights belong to the original author [Ananda Banerjee]. หากมีข้อขัดแย้งใด ๆ เกี่ยวกับการพิมพ์ฉบับนี้ กรุณาติดต่อGate Learnทีม และพวกเขาจะจัดการด้วยรวดเร็ว
  2. คำโฆษณาความรับผิด: มุมมองและความคิดเห็นที่แสดงในบทความนี้เป็นเพียงเรื่องของผู้เขียนเท่านั้น และไม่เป็นที่ปรึกษาด้านการลงทุนใด ๆ
  3. การแปลบทความเป็นภาษาอื่นๆ ทำโดยทีม Gate Learn หากไม่ได้กล่าวถึง การคัดลอก การแจกจ่าย หรือการลอกเลียนบทความที่ถูกแปลนั้นถูกห้าม
Розпочати зараз
Зареєструйтеся та отримайте ваучер на
$100
!