Bắt đầu với việc phát triển Ethereum
Đây là hướng dẫn dành cho người mới bắt đầu để làm quen với việc phát triển Ethereum. Trong hướng dẫn này, chúng ta sẽ sử dụng Alchemy (mở trong tab mới), nền tảng nhà phát triển Chuỗi khối hàng đầu cung cấp sức mạnh cho hàng triệu người dùng từ 70% các ứng dụng Chuỗi khối hàng đầu, bao gồm Maker, 0x, MyEtherWallet, Dharma và Kyber. Alchemy sẽ cung cấp cho chúng ta quyền truy cập vào một điểm cuối API trên Chuỗi Ethereum để chúng ta có thể đọc và ghi các giao dịch.
Chúng tôi sẽ đưa bạn từ việc đăng ký Alchemy cho đến việc viết tập lệnh Web3 đầu tiên của bạn! Không yêu cầu kinh nghiệm phát triển Chuỗi khối!
1. Đăng ký tài khoản Alchemy miễn phí
Việc tạo tài khoản với Alchemy rất dễ dàng, đăng ký miễn phí tại đây (mở trong tab mới).
2. Tạo một ứng dụng Alchemy
Để giao tiếp với Chuỗi Ethereum và sử dụng các sản phẩm của Alchemy, bạn cần một khóa API để xác thực các yêu cầu của mình.
Bạn có thể tạo các khóa API từ bảng điều khiển (mở trong tab mới). Để tạo một khóa mới, hãy điều hướng đến “Create App” (Tạo ứng dụng) như hình bên dưới:
Đặc biệt cảm ơn ShapeShift (mở trong tab mới) đã cho phép chúng tôi hiển thị bảng điều khiển của họ!
Điền các thông tin chi tiết trong phần “Create App” để nhận khóa mới của bạn. Bạn cũng có thể xem các ứng dụng bạn đã tạo trước đó và các ứng dụng do nhóm của bạn tạo tại đây. Lấy các khóa hiện có bằng cách nhấp vào “View Key” (Xem khóa) cho bất kỳ ứng dụng nào.
Bạn cũng có thể lấy các khóa API hiện có bằng cách di chuột qua “Apps” (Ứng dụng) và chọn một ứng dụng. Bạn có thể “View Key” (Xem khóa) tại đây, cũng như “Edit App” (Chỉnh sửa ứng dụng) để đưa các miền cụ thể vào danh sách trắng, xem một số công cụ dành cho nhà phát triển và xem phân tích.
Tương tác với Chuỗi khối Ethereum thông qua Alchemy bằng cách sử dụng JSON-RPC và curl.
Đối với các yêu cầu thủ công, chúng tôi khuyên bạn nên tương tác với JSON-RPC thông qua các yêu cầu POST. Chỉ cần truyền vào tiêu đề Content-Type: application/json và truy vấn của bạn dưới dạng phần thân POST với các trường sau:
jsonrpc: Phiên bản JSON-RPC—hiện tại, chỉ hỗ trợ2.0.method: Phương thức API ETH. Xem tài liệu tham khảo API.params: Danh sách các tham số để truyền vào phương thức.id: ID yêu cầu của bạn. Sẽ được trả về bởi phản hồi để bạn có thể theo dõi phản hồi thuộc về yêu cầu nào.
Dưới đây là một ví dụ bạn có thể chạy từ dòng lệnh để truy xuất giá gas hiện tại:
curl https://eth-mainnet.alchemyapi.io/v2/demo \
-X POST \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","method":"eth_gasPrice","params":[],"id":73}'
LƯU Ý: Thay thế https://eth-mainnet.alchemyapi.io/v2/demo bằng khóa API của riêng bạn https://eth-mainnet.alchemyapi.io/v2/**your-api-key.
Kết quả:
{ "id": 73,"jsonrpc": "2.0","result": "0x09184e72a000" // 10000000000000 }
Nếu bạn đã có một máy khách hiện tại, hãy thay đổi URL nhà cung cấp nút hiện tại của bạn thành URL Alchemy với khóa API của bạn: “https://eth-mainnet.alchemyapi.io/v2/your-api-key"
LƯU Ý: Các tập lệnh bên dưới cần được chạy trong ngữ cảnh nút hoặc được lưu trong một tệp, không chạy từ dòng lệnh. Nếu bạn chưa cài đặt Node hoặc npm, hãy làm theo hướng dẫn cài đặt Node.js (mở trong tab mới).
Có rất nhiều thư viện Web3 bạn có thể tích hợp với Alchemy, tuy nhiên, chúng tôi khuyên bạn nên sử dụng Alchemy Web3 (mở trong tab mới), một sự thay thế trực tiếp cho Web3.js, được xây dựng và cấu hình để hoạt động trơn tru với Alchemy. Điều này mang lại nhiều lợi thế như tự động thử lại và hỗ trợ WebSocket mạnh mẽ.
Để cài đặt AlchemyWeb3.js, hãy điều hướng đến thư mục dự án của bạn và chạy:
Với Yarn:
yarn add @alch/alchemy-web3
Với NPM:
npm install @alch/alchemy-web3
Để tương tác với cơ sở hạ tầng nút của Alchemy, hãy chạy trong NodeJS hoặc thêm đoạn mã này vào tệp JavaScript:
const { createAlchemyWeb3 } = require("@alch/alchemy-web3")
const web3 = createAlchemyWeb3(
"https://eth-mainnet.alchemyapi.io/v2/your-api-key"
)
Bây giờ để bắt tay vào thực hành một chút lập trình Web3, chúng ta sẽ viết một tập lệnh đơn giản in ra số khối mới nhất từ Mạng chính Ethereum.
1. Nếu bạn chưa làm, trong terminal của bạn hãy tạo một thư mục dự án mới và cd vào đó:
mkdir web3-example
cd web3-example
2. Cài đặt phụ thuộc Web3 của Alchemy (hoặc bất kỳ Web3 nào) vào dự án của bạn nếu bạn chưa cài đặt:
npm install @alch/alchemy-web3
3. Tạo một tệp có tên index.js và thêm nội dung sau:
Cuối cùng, bạn nên thay thế
demobằng khóa API HTTP Alchemy của mình.
async function main() {
const { createAlchemyWeb3 } = require("@alch/alchemy-web3")
const web3 = createAlchemyWeb3("https://eth-mainnet.alchemyapi.io/v2/demo")
const blockNumber = await web3.eth.getBlockNumber()
console.log("The latest block number is " + blockNumber)
}
main()
Bạn chưa quen với các khái niệm async? Hãy xem bài viết trên Medium (mở trong tab mới) này.
4. Chạy nó trong terminal của bạn bằng node
node index.js
5. Bây giờ bạn sẽ thấy số khối mới nhất được xuất ra trong bảng điều khiển của mình!
The latest block number is 11043912
Tuyệt vời! Chúc mừng! Bạn vừa viết tập lệnh Web3 đầu tiên của mình bằng Alchemy 🎉
Bạn không chắc chắn nên làm gì tiếp theo? Hãy thử triển khai hợp đồng thông minh đầu tiên của bạn và bắt tay vào thực hành một chút lập trình Solidity trong Hướng dẫn Hợp đồng thông minh Hello World của chúng tôi, hoặc tiếp tục khám phá tài liệu của Alchemy (mở trong tab mới) để xem thêm các ví dụ.
Đăng ký Alchemy miễn phí (mở trong tab mới), xem tài liệu (mở trong tab mới) của chúng tôi và để cập nhật tin tức mới nhất, hãy theo dõi chúng tôi trên Twitter (mở trong tab mới).


