Hướng Dẫn Toàn Diện Cho Lập Trình Viên Web3: Cách Sử Dụng Alchemy API

Ashley Innocent

Ashley Innocent

23 tháng 4 2026

Hướng Dẫn Toàn Diện Cho Lập Trình Viên Web3: Cách Sử Dụng Alchemy API

Apidog cho doanh nghiệp

Triển khai tại chỗ

SSO & RBAC

Tuân thủ SOC 2

Khám phá Apidog Enterprise

Chạy một dApp Ethereum sản xuất mà không có nhà cung cấp node đáng tin cậy là một con đường ngắn dẫn đến việc phải thường xuyên trực ban. Các node Geth tự host bị trễ, bỏ lỡ các đợt tái tổ chức (reorgs), và tắc nghẽn ngay khi ứng dụng của bạn có sức hút. Alchemy API khắc phục điều đó bằng cách cung cấp cho bạn một lớp node được tăng cường cùng với một bộ API nâng cao mà đặc tả JSON-RPC thô chưa từng định nghĩa, chẳng hạn như lấy mọi NFT trong một ví chỉ với một lệnh gọi thay vì quét từng khối kể từ khi khởi tạo.

Hướng dẫn này sẽ trình bày toàn bộ bề mặt API của Alchemy: tạo một ứng dụng, xác thực, gọi các phương thức JSON-RPC tiêu chuẩn, sử dụng các điểm cuối nâng cao, đăng ký các giao dịch đang chờ xử lý qua WebSocket, và triển khai các tài khoản thông minh với tài trợ phí gas thông qua Account Kit. Bạn sẽ thấy các ví dụ curl và Node cho mọi luồng chính, và bạn sẽ hiểu cách các đơn vị tính toán (CU) ánh xạ tới hóa đơn hàng tháng của bạn trước khi triển khai.

Nếu bạn đang đánh giá cơ sở hạ tầng ví và web3 rộng hơn, Apidog giúp bạn kiểm tra mọi điểm cuối tại một nơi. Đồng thời xem hướng dẫn của chúng tôi về API ví tiền điện tử tốt nhất để có cái nhìn rộng hơn về thị trường trước khi bạn cam kết với một nhà cung cấp.

nút

Tóm tắt

Alchemy API là gì?

Alchemy là một nền tảng phát triển web3 vận hành các node blockchain được quản lý và xếp chồng một công cụ lập chỉ mục dữ liệu lên trên. Bạn nhận được ba thứ mà bạn không thể dễ dàng tự xây dựng: các node JSON-RPC có tính khả dụng cao trên hơn 40 chuỗi, các API nâng cao tiền lập chỉ mục các giao dịch chuyển nhượng và siêu dữ liệu NFT, và một ngăn xếp trừu tượng hóa tài khoản (Account Kit) cho trải nghiệm người dùng không phí gas.

Trong khi Infura chủ yếu cung cấp cho bạn quyền truy cập node thô, Alchemy bổ sung lớp lập chỉ mục. Lấy mọi giao dịch chuyển ERC-20 cho một địa chỉ chỉ cần một lệnh gọi alchemy_getAssetTransfers; cùng một truy vấn trên một node thông thường có nghĩa là lặp qua mọi khối. Đó là lý do tại sao hầu hết các ví sản xuất, bảng điều khiển DeFi và thị trường NFT sử dụng Alchemy cho các đường dẫn đọc nặng.

Xác thực và thiết lập

Tạo một tài khoản trên bảng điều khiển Alchemy, sau đó nhấp vào Tạo ứng dụng mới. Chọn một chuỗi (Ethereum Mainnet, Polygon, Base, v.v.) và một mạng (mainnet hoặc mạng thử nghiệm như Sepolia). Mỗi ứng dụng sẽ có một khóa API duy nhất tạo thành phân đoạn đường dẫn cuối cùng của URL của bạn.

Điểm cuối HTTPS của bạn trông như sau:

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

Điểm cuối WebSocket của bạn:

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

Hãy coi khóa API như một bí mật. Đặt nó vào một biến môi trường, không bao giờ trong mã phía client. Đối với các dApp trình duyệt, hãy sử dụng danh sách cho phép (giới hạn referer) trong bảng điều khiển Alchemy để khóa bị lộ không thể làm cạn kiệt hạn mức của bạn từ miền của kẻ tấn công.

Cài đặt SDK:

npm install alchemy-sdk

Sau đó khởi tạo một client:

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("Khối mới nhất:", block);

Các điểm cuối cốt lõi

JSON-RPC tiêu chuẩn qua HTTPS

Mọi phương thức JSON-RPC Ethereum tiêu chuẩn đều hoạt động. Dưới đây là eth_getBalance với 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
  }'

Phản hồi trả về số dư theo wei dưới dạng chuỗi hex. Cùng một mẫu hoạt động cho eth_call, eth_sendRawTransaction, eth_getLogs, và mọi phương thức tiêu chuẩn khác.

API nâng cao: getAssetTransfers

alchemy_getAssetTransfers trả về mọi giao dịch chuyển ETH, ERC-20, ERC-721, ERC-1155, giao dịch nội bộ và bên ngoài cho một địa chỉ trong một phạm vi khối. Một lệnh gọi thay thế hàng ngàn truy vấn 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} từ ${t.from} đến ${t.to}`);
}

API nâng cao: getTokenBalances và getNFTs

Lấy mọi token mà một ví đang giữ, mà không cần biết trước địa chỉ hợp đồng, chỉ cần một lệnh gọi:

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}`);
}

Đối với NFT, hãy sử dụng không gian tên NFT:

const nfts = await alchemy.nft.getNftsForOwner(
  "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"
);
console.log(`Sở hữu ${nfts.totalCount} NFT`);

API Đăng ký qua WebSocket

API Đăng ký đẩy các bản cập nhật thay vì bắt bạn phải thăm dò. Đăng ký các giao dịch đang chờ xử lý hoặc hoạt động địa chỉ:

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("Giao dịch USDC đang chờ xử lý:", tx.hash)
);

Đây là cách các bot mempool, bộ theo dõi MEV và giao diện người dùng danh mục đầu tư thời gian thực duy trì cập nhật mà không tốn CU cho các cuộc thăm dò eth_blockNumber.

Account Kit và Gas Manager

Account Kit là ngăn xếp tài khoản thông minh của Alchemy. Nó cung cấp một React SDK, một triển khai tài khoản hợp đồng thông minh (Light Account và Modular Account), và Gas Manager để tài trợ các hoạt động người dùng. Người dùng đăng ký bằng passkey hoặc email, nhận một ví thông minh, và không bao giờ phải chạm vào một cụm từ hạt giống hoặc token gas.

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 },
});

Đối với các quy trình giới thiệu người dùng kết hợp tài khoản thông minh với ví nhúng, hãy xem hướng dẫn của chúng tôi về Privy API, bổ sung rất tốt cho Account Kit đối với các dApp dành cho người dùng cuối.

Lỗi thường gặp và giới hạn tỷ lệ

Alchemy đo lường mức sử dụng bằng đơn vị tính toán (CU). Mỗi phương thức có một chi phí CU: eth_call là 26 CU, eth_getLogs là 75, alchemy_getAssetTransfers là 150, và eth_getBlockByNumber là 16. Gói miễn phí cung cấp cho bạn 300 triệu CU mỗi tháng và giới hạn thông lượng mỗi giây.

Các lỗi bạn sẽ thấy thường xuyên nhất:

Các yêu cầu theo lô là bạn của bạn. Gửi tới 1000 lệnh gọi JSON-RPC trong một HTTP POST, điều này giảm thiểu chi phí mạng và thường tốn ít tổng CU hơn. Đối với các quy trình kiểm thử rộng hơn, kiểm thử API không dùng Postman vào năm 2026 bao gồm cách quản lý các lệnh gọi JSON-RPC theo lô trong một bộ sưu tập.

Giá Alchemy

Alchemy có bốn cấp độ công khai:

CU được đặt lại hàng tháng. Nếu bạn vượt quá giới hạn trên gói Growth hoặc Scale, bạn sẽ phải trả phí vượt mức; trên gói Free, các yêu cầu sẽ bắt đầu thất bại với lỗi 429 cho đến chu kỳ tiếp theo. Giám sát mức sử dụng hàng ngày trong bảng điều khiển trong tháng đầu tiên để bạn có thể chọn gói phù hợp.

Kiểm tra API Alchemy bằng Apidog

Gỡ lỗi JSON-RPC thủ công rất khó khăn. Mọi yêu cầu đều là một POST với một mảng tham số lồng nhau, phản hồi được mã hóa hex và các đăng ký WebSocket khó kiểm tra trong một terminal thông thường. Apidog cung cấp cho bạn một không gian làm việc thống nhất cho lưu lượng REST, GraphQL và WebSocket, vì vậy bạn có thể truy cập các điểm cuối HTTPS của Alchemy, mở một WebSocket tới wss://eth-mainnet.g.alchemy.com/v2/... và theo dõi các đăng ký giao dịch đang chờ xử lý được truyền song song.

Lưu khóa API của bạn dưới dạng biến môi trường trong Apidog và sử dụng lại nó trên các bộ sưu tập cho mainnet, Sepolia, Polygon và Base. Viết kịch bản xác nhận trên các trường phản hồi để phát hiện các hồi quy khi Alchemy triển khai các điểm cuối nâng cao mới. Tải xuống Apidog và nhập đặc tả OpenAPI của Alchemy để tạo dàn dựng bộ sưu tập của bạn chỉ trong vòng chưa đầy một phút.

nút

Câu hỏi thường gặp

Alchemy có miễn phí cho việc sử dụng sản xuất không?
Có, trong giới hạn 300 triệu CU mỗi tháng. Nhiều dApp nhỏ vẫn sử dụng gói Free vô thời hạn. Khi bạn vượt qua giới hạn đó hoặc cần thông lượng cao hơn, gói Growth với giá 49$ thường là bước tiếp theo.

Alchemy có hỗ trợ Solana không?
Có. Alchemy hỗ trợ Solana mainnet và devnet với các phương thức RPC Solana tiêu chuẩn cộng với các điểm cuối nâng cao cho dữ liệu token và NFT. Tạo một ứng dụng Solana trong bảng điều khiển để nhận một điểm cuối chuyên dụng.

Tôi có thể sử dụng Alchemy API mà không cần SDK không?
Chắc chắn rồi. Mọi điểm cuối đều có thể được gọi qua HTTPS bằng curl, fetch hoặc bất kỳ client HTTP nào. SDK là một trình bao bọc tiện lợi; nó bổ sung các trình trợ giúp có kiểu, thử lại tự động và kết nối lại WebSocket, nhưng nó là tùy chọn.

Sự khác biệt giữa Alchemy và API dành cho nhà phát triển của MetaMask là gì?
MetaMask tập trung vào trải nghiệm người dùng và ký ví; Alchemy tập trung vào cơ sở hạ tầng node và dữ liệu. Chúng giải quyết các vấn đề khác nhau. Xem hướng dẫn của chúng tôi về MetaMask API để biết về phía ví.

Làm cách nào để xoay vòng khóa API Alchemy?
Tạo một ứng dụng mới trong bảng điều khiển, cập nhật môi trường của bạn, triển khai, sau đó xóa ứng dụng cũ. Không có tính năng xoay vòng tại chỗ, vì vậy hãy lên kế hoạch cho một khoảng thời gian chồng chéo ngắn.

Account Kit có hoạt động trên bất kỳ chuỗi EVM nào không?
Account Kit hỗ trợ Ethereum, Optimism, Arbitrum, Base, Polygon và các mạng thử nghiệm của chúng. Các chính sách tài trợ của Gas Manager là dành riêng cho từng chuỗi, vì vậy hãy thiết lập chúng cho từng mạng.

Thực hành thiết kế API trong Apidog

Khám phá cách dễ dàng hơn để xây dựng và sử dụng API