วิธีใช้ Alchemy API: คู่มือพัฒนา Web3 ฉบับสมบูรณ์

Ashley Innocent

Ashley Innocent

23 April 2026

วิธีใช้ Alchemy API: คู่มือพัฒนา Web3 ฉบับสมบูรณ์

enterprise.banner.title

enterprise.banner.feature1

enterprise.banner.feature2

enterprise.banner.feature3

enterprise.banner.ctaB

การรัน dApp Ethereum สำหรับใช้งานจริงโดยไม่มีผู้ให้บริการโหนดที่เชื่อถือได้นั้นเป็นเส้นทางที่นำไปสู่การต้องเฝ้าระวังตลอดเวลา โหนด Geth ที่โฮสต์เองนั้นทำงานช้า, พลาดการจัดเรียงบล็อกใหม่ (reorgs), และหยุดทำงานทันทีที่แอปของคุณได้รับความนิยม Alchemy API แก้ไขปัญหานี้โดยมอบเลเยอร์โหนดที่แข็งแกร่ง พร้อมด้วยชุด API ที่ได้รับการปรับปรุงซึ่งไม่เคยถูกกำหนดไว้ในข้อกำหนด JSON-RPC ดั้งเดิม เช่น การเรียกดู NFT ทั้งหมดในกระเป๋าเดียวด้วยการเรียกเพียงครั้งเดียว แทนที่จะต้องสแกนทุกบล็อกตั้งแต่เริ่มต้น

คู่มือนี้จะอธิบายภาพรวมทั้งหมดของ Alchemy API: การสร้างแอปพลิเคชัน, การยืนยันตัวตน, การเรียกใช้เมธอด JSON-RPC มาตรฐาน, การใช้ Endpoints ที่ได้รับการปรับปรุง, การสมัครรับธุรกรรมที่รอดำเนินการผ่าน WebSocket และการจัดส่ง Smart Accounts พร้อมการสนับสนุนค่าธรรมเนียมก๊าซผ่าน Account Kit คุณจะเห็นตัวอย่างการใช้ curl และ Node สำหรับแต่ละขั้นตอนหลัก และคุณจะเข้าใจว่าหน่วยประมวลผล (Compute Units - CU) เกี่ยวข้องกับค่าใช้จ่ายรายเดือนของคุณอย่างไรก่อนที่คุณจะเปิดใช้งาน

หากคุณกำลังพิจารณากระเป๋าเงินและโครงสร้างพื้นฐาน Web3 ในวงกว้างขึ้น Apidog ช่วยให้คุณทดสอบทุก Endpoint ได้ในที่เดียว นอกจากนี้ โปรดดูคู่มือของเราเกี่ยวกับ API กระเป๋าเงินคริปโตที่ดีที่สุด เพื่อมุมมองตลาดที่กว้างขึ้นก่อนที่คุณจะตัดสินใจเลือกผู้ให้บริการ

button

สรุปย่อ (TL;DR)

Alchemy API คืออะไร?

Alchemy เป็นแพลตฟอร์มสำหรับนักพัฒนา Web3 ที่ดำเนินการโหนดบล็อกเชนที่มีการจัดการ และมีเอนจินการจัดทำดัชนีข้อมูลอยู่ด้านบน คุณจะได้รับสามสิ่งที่คุณไม่สามารถสร้างเองได้ง่ายๆ: โหนด JSON-RPC ที่มีความพร้อมใช้งานสูง (high-availability) ครอบคลุมกว่า 40 เชน, API ที่ได้รับการปรับปรุงซึ่งจัดทำดัชนีการโอนและข้อมูลเมตาของ NFT ล่วงหน้า, และสแต็ก Account Abstraction (Account Kit) สำหรับประสบการณ์ผู้ใช้ที่ไร้ค่าธรรมเนียมก๊าซ

ในขณะที่ Infura ให้คุณเข้าถึงโหนดแบบดิบเป็นส่วนใหญ่ Alchemy จะเพิ่มเลเยอร์การจัดทำดัชนี การเรียก ERC-20 transfer ทั้งหมดสำหรับที่อยู่หนึ่งจะใช้การเรียก alchemy_getAssetTransfers เพียงครั้งเดียว; การสอบถามเดียวกันบนโหนดทั่วไปหมายถึงการวนซ้ำทุกบล็อก นี่คือเหตุผลที่กระเป๋าเงิน, แดชบอร์ด DeFi และตลาด NFT ส่วนใหญ่ที่ใช้งานจริงใช้ Alchemy สำหรับการใช้งานที่เน้นการอ่านข้อมูล

การยืนยันตัวตนและการตั้งค่า

สร้างบัญชีบนแดชบอร์ด Alchemy จากนั้นคลิก Create new app เลือกเชน (Ethereum Mainnet, Polygon, Base ฯลฯ) และเครือข่าย (mainnet หรือ testnet เช่น Sepolia) แต่ละแอปจะได้รับ API key ที่ไม่ซ้ำกัน ซึ่งเป็นส่วนสุดท้ายของ URL ของคุณ

Endpoint HTTPS ของคุณจะมีลักษณะดังนี้:

https://eth-mainnet.g.alchemy.com/v2/YOUR_API_KEY

Endpoint WebSocket ของคุณ:

wss://eth-mainnet.g.alchemy.com/v2/YOUR_API_KEY

ให้ถือว่า API key เป็นความลับ เก็บไว้ในตัวแปรสภาพแวดล้อม ห้ามใส่ไว้ในโค้ดฝั่งไคลเอ็นต์ สำหรับ dApp บนเบราว์เซอร์ ให้ใช้รายการที่อนุญาต (referer restrictions) ในแดชบอร์ด Alchemy เพื่อไม่ให้คีย์ที่รั่วไหลสามารถใช้โควต้าของคุณจากโดเมนของผู้โจมตีได้

ติดตั้ง SDK:

npm install alchemy-sdk

จากนั้นเริ่มต้นไคลเอ็นต์:

import { Alchemy, Network } from "alchemy-sdk";

const alchemy = new Alchemy({
  apiKey: process.env.ALCHEMY_API_KEY,
  network: Network.ETH_MAINNET,
});

const block = await alchemy.core.getBlockNumber();
console.log("Latest block:", block);

Endpoints หลัก

JSON-RPC มาตรฐานผ่าน HTTPS

เมธอด Ethereum JSON-RPC มาตรฐานใดๆ ก็ใช้งานได้ นี่คือ eth_getBalance ด้วย curl:

curl https://eth-mainnet.g.alchemy.com/v2/YOUR_API_KEY \
  -X POST \
  -H "Content-Type: application/json" \
  -d '{
    "jsonrpc":"2.0",
    "method":"eth_getBalance",
    "params":["0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045","latest"],
    "id":1
  }'

การตอบกลับจะส่งคืนยอดคงเหลือในหน่วย wei เป็นสตริงเลขฐานสิบหก รูปแบบเดียวกันนี้ใช้ได้กับ eth_call, eth_sendRawTransaction, eth_getLogs และเมธอดมาตรฐานอื่นๆ ทั้งหมด

Enhanced API: getAssetTransfers

alchemy_getAssetTransfers จะส่งคืนการโอน ETH, ERC-20, ERC-721, ERC-1155, การโอนภายใน และการโอนภายนอกทั้งหมดสำหรับที่อยู่หนึ่งในช่วงบล็อก การเรียกเพียงครั้งเดียวจะแทนที่การสอบถาม eth_getLogs หลายพันครั้ง

import { Alchemy, Network, AssetTransfersCategory } from "alchemy-sdk";

const alchemy = new Alchemy({
  apiKey: process.env.ALCHEMY_API_KEY,
  network: Network.ETH_MAINNET,
});

const transfers = await alchemy.core.getAssetTransfers({
  fromBlock: "0x0",
  toAddress: "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045",
  category: [
    AssetTransfersCategory.EXTERNAL,
    AssetTransfersCategory.ERC20,
    AssetTransfersCategory.ERC721,
  ],
  maxCount: 100,
});

for (const t of transfers.transfers) {
  console.log(`${t.asset} ${t.value} from ${t.from} to ${t.to}`);
}

Enhanced API: getTokenBalances และ getNFTs

การรับโทเค็นทั้งหมดที่กระเป๋าเงินถืออยู่ โดยไม่ต้องรู้ที่อยู่สัญญาตั้งแต่แรก จะใช้การเรียกเพียงครั้งเดียว:

const balances = await alchemy.core.getTokenBalances(
  "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"
);

for (const token of balances.tokenBalances) {
  const meta = await alchemy.core.getTokenMetadata(token.contractAddress);
  console.log(`${meta.symbol}: ${token.tokenBalance}`);
}

สำหรับ NFT ให้ใช้ NFT namespace:

const nfts = await alchemy.nft.getNftsForOwner(
  "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"
);
console.log(`เป็นเจ้าของ NFT ${nfts.totalCount} ชิ้น`);

Subscription API ผ่าน WebSocket

Subscription API จะส่งการอัปเดตแทนที่จะให้คุณต้องคอยสอบถาม สมัครรับธุรกรรมที่รอดำเนินการหรือกิจกรรมที่อยู่:

import { Alchemy, Network, AlchemySubscription } from "alchemy-sdk";

const alchemy = new Alchemy({
  apiKey: process.env.ALCHEMY_API_KEY,
  network: Network.ETH_MAINNET,
});

alchemy.ws.on(
  {
    method: AlchemySubscription.PENDING_TRANSACTIONS,
    toAddress: "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48",
  },
  (tx) => console.log("ธุรกรรม USDC ที่รอดำเนินการ:", tx.hash)
);

นี่คือวิธีที่บอท mempool, MEV watchers และ UI พอร์ตโฟลิโอแบบเรียลไทม์จะอัปเดตอยู่เสมอโดยไม่ต้องใช้ CU ไปกับการสอบถาม eth_blockNumber

Account Kit และ Gas Manager

Account Kit คือสแต็ก Smart Account ของ Alchemy มันจัดส่ง React SDK, การใช้งานสัญญา Smart Account (Light Account และ Modular Account) และ Gas Manager สำหรับการสนับสนุนค่าธรรมเนียมการดำเนินงานของผู้ใช้ ผู้ใช้ลงทะเบียนด้วย passkey หรืออีเมล ได้รับ Smart Wallet และไม่ต้องสัมผัส seed phrase หรือ gas token เลย

import { createLightAccountClient } from "@account-kit/smart-contracts";
import { alchemy, sepolia } from "@account-kit/infra";

const client = createLightAccountClient({
  transport: alchemy({ apiKey: process.env.ALCHEMY_API_KEY }),
  chain: sepolia,
  signer: yourSigner,
});

const { hash } = await client.sendUserOperation({
  uo: { target: "0x...", data: "0x", value: 0n },
});

สำหรับการเริ่มต้นใช้งานที่จับคู่ Smart Account กับกระเป๋าเงินแบบฝัง (embedded wallets) โปรดดู คู่มือของเราเกี่ยวกับ Privy API ซึ่งเข้ากันได้ดีกับ Account Kit สำหรับ dApp ของผู้บริโภค

ข้อผิดพลาดที่พบบ่อยและขีดจำกัดอัตราการเรียกใช้งาน

Alchemy วัดการใช้งานเป็นหน่วยประมวลผล (Compute Units - CU) แต่ละเมธอดมีค่าใช้จ่าย CU: eth_call คือ 26 CU, eth_getLogs คือ 75, alchemy_getAssetTransfers คือ 150, และ eth_getBlockByNumber คือ 16 แผนบริการฟรีให้คุณ 300M CU ต่อเดือน และขีดจำกัดปริมาณงานต่อวินาที

ข้อผิดพลาดที่คุณจะพบบ่อยที่สุด:

คำขอแบบกลุ่ม (Batch requests) คือเพื่อนของคุณ ส่งการเรียก JSON-RPC ได้สูงสุด 1000 รายการในการ POST HTTP ครั้งเดียว ซึ่งจะช่วยลดค่าใช้จ่ายเครือข่ายและมักจะมี CU รวมน้อยลง สำหรับเวิร์กโฟลว์การทดสอบที่กว้างขึ้น การทดสอบ API โดยไม่ต้องใช้ Postman ในปี 2026 ครอบคลุมวิธีการจัดการการเรียก JSON-RPC แบบกลุ่มในคอลเลกชัน

ราคาของ Alchemy

Alchemy มีแผนบริการสาธารณะสี่ระดับ:

CU จะรีเซ็ตทุกเดือน หากคุณใช้เกินในแผน Growth หรือ Scale คุณจะต้องจ่ายค่าใช้จ่ายส่วนเกิน; ในแผน Free คำขอจะเริ่มล้มเหลวด้วย 429 จนกว่าจะถึงรอบถัดไป ตรวจสอบการใช้งานรายวันในแดชบอร์ดในช่วงเดือนแรกของคุณ เพื่อให้คุณสามารถเลือกแผนที่เหมาะสมได้

การทดสอบ Alchemy API ด้วย Apidog

การดีบัก JSON-RPC ด้วยมือเป็นเรื่องที่เจ็บปวด ทุกคำขอเป็นการ POST ที่มีอาร์เรย์ params ที่ซ้อนกัน, การตอบกลับถูกเข้ารหัสเป็นเลขฐานสิบหก, และการสมัครรับ WebSocket นั้นยากต่อการตรวจสอบในเทอร์มินัลธรรมดา Apidog มอบพื้นที่ทำงานแบบครบวงจรสำหรับ REST, GraphQL และ WebSocket traffic ดังนั้นคุณสามารถเรียกใช้ Endpoints ของ Alchemy HTTPS, เปิด WebSocket ไปยัง wss://eth-mainnet.g.alchemy.com/v2/... และดูการสมัครรับธุรกรรมที่รอดำเนินการที่ไหลเข้ามาพร้อมกันได้

บันทึก API key ของคุณเป็นตัวแปรสภาพแวดล้อมใน Apidog และนำกลับมาใช้ใหม่ในคอลเลกชันสำหรับ mainnet, Sepolia, Polygon และ Base กำหนด assertion บนฟิลด์การตอบกลับเพื่อตรวจจับการถดถอยเมื่อ Alchemy เปิดตัว Endpoints ที่ได้รับการปรับปรุงใหม่ ดาวน์โหลด Apidog และนำเข้า Alchemy OpenAPI spec เพื่อสร้างโครงสร้างคอลเลกชันของคุณในเวลาไม่ถึงนาที

button

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

Alchemy ฟรีสำหรับการใช้งานจริงหรือไม่?ได้ ฟรีภายใน 300M CU ต่อเดือน dApps ขนาดเล็กจำนวนมากยังคงใช้แผนฟรีต่อไปเรื่อยๆ เมื่อคุณใช้เกินขีดจำกัดนั้นหรือต้องการปริมาณงานที่สูงขึ้น แผน Growth ที่ $49 คือขั้นตอนถัดไปตามปกติ

Alchemy รองรับ Solana หรือไม่?รองรับ Alchemy รองรับ Solana mainnet และ devnet ด้วยเมธอด Solana RPC มาตรฐาน พร้อมด้วย Endpoints ที่ได้รับการปรับปรุงสำหรับข้อมูลโทเค็นและ NFT สร้างแอป Solana ในแดชบอร์ดเพื่อรับ Endpoint เฉพาะ

ฉันสามารถใช้ Alchemy API โดยไม่มี SDK ได้หรือไม่?ได้แน่นอน ทุก Endpoint สามารถเรียกใช้งานได้ผ่าน HTTPS ด้วย curl, fetch หรือไคลเอ็นต์ HTTP ใดๆ SDK เป็นเพียงตัวช่วยที่อำนวยความสะดวก; มันเพิ่มตัวช่วยแบบพิมพ์ (typed helpers), การลองใหม่โดยอัตโนมัติ และการเชื่อมต่อ WebSocket ใหม่ แต่ก็เป็นทางเลือกเสริม

อะไรคือความแตกต่างระหว่าง Alchemy และ API สำหรับนักพัฒนาของ MetaMask?MetaMask มุ่งเน้นไปที่ UX ของกระเป๋าเงินและการลงนาม; Alchemy มุ่งเน้นไปที่โครงสร้างพื้นฐานโหนดและข้อมูล ทั้งสองแก้ปัญหาที่แตกต่างกัน โปรดดู คู่มือของเราเกี่ยวกับ MetaMask API สำหรับฝั่งกระเป๋าเงิน

ฉันจะหมุนเวียน (rotate) Alchemy API key ได้อย่างไร?สร้างแอปใหม่ในแดชบอร์ด, อัปเดตสภาพแวดล้อมของคุณ, deploy, จากนั้นลบแอปเก่าออก ไม่มีการหมุนเวียนแบบทันที ดังนั้นควรวางแผนช่วงเวลาที่ทับซ้อนกันสั้นๆ

Account Kit ใช้งานได้บนเชน EVM ใดๆ หรือไม่?Account Kit รองรับ Ethereum, Optimism, Arbitrum, Base, Polygon และ testnet ของเครือข่ายเหล่านี้ นโยบายการสนับสนุน Gas Manager จะเฉพาะเจาะจงสำหรับแต่ละเชน ดังนั้นต้องตั้งค่าให้เหมาะสมกับแต่ละเครือข่าย

ฝึกการออกแบบ API แบบ Design-first ใน Apidog

ค้นพบวิธีที่ง่ายขึ้นในการสร้างและใช้ API