Ethereum Development Overview
Ethereum là một nền tảng toàn cầu, phi tập trung cho tiền và các loại ứng dụng mới. Trên Ethereum, bạn có thể viết mã kiểm soát tiền và xây dựng các ứng dụng có thể truy cập được ở mọi nơi.
Giới thiệu về Ethereum Stack
Như bất kỳ software stack nào, Ethererum Stack sẽ khác nhau tùy thuộc vào bất kỳ dự án nào
Level 1: Ethereum Virtual Machine
EVM là một runtime environment đối với hợp đồng thông minh (smart contracts) trong Ethereum. Toàn bộ hợp đồng thông minh và sự thay đổi trạng thái trên Ethereum Blockchain đều được thực thi bởi transactions. EVM sẽ xử lý toàn bộ transaction đó trên mạng Ethereum.
Với bất kỳ máy ảo nào, EVM tạo ra mức độ trừu tượng giữa executing code và executing machine (một nút Ethereum). Hiện tại EVM đang chạy trên hàng nghìn nút được phân bổ trên khắp thế giới.
Là một nhà phát triển dapp, bạn không cần biết nhiều về EVM ngoài việc nó tồn tại và nó cung cấp năng lượng đáng tin cậy cho tất cả các ứng dụng trên Ethereum mà không quan tâm đến downtime.
Level 2: Smart Contracts
Hợp đồng thông minh là các chương trình thực thi chạy trên chuỗi khối Ethereum.
Hợp đồng thông minh được viết bằng cách sử dụng các ngôn ngữ lập trình cụ thể để biên dịch sang EVM bytecode (bộ chỉ thị máy cấp thấp được gọi là opcodes).
Các hợp đồng thông minh không chỉ đóng vai trò là thư viện mã nguồn mở, về cơ bản chúng còn là các dịch vụ API mở chạy 24/7 và không thể bị gỡ xuống. Hợp đồng thông minh cung cấp các chức năng công khai mà các ứng dụng (dapp) có thể tương tác mà không cần sự cho phép. Bất kỳ ứng dụng nào cũng có thể tích hợp với các hợp đồng thông minh đã triển khai để soạn thảo chức năng (chẳng hạn như nguồn cấp dữ liệu hoặc trao đổi phi tập trung). Bất kỳ ai cũng có thể triển khai các hợp đồng thông minh mới cho Ethereum để thêm chức năng tùy chỉnh nhằm đáp ứng nhu cầu ứng dụng của họ.
Là một nhà phát triển dapp, bạn sẽ chỉ cần viết các hợp đồng thông minh nếu bạn muốn thêm chức năng tùy chỉnh trên chuỗi khối Ethereum. Bạn có thể thấy mình có thể đạt được hầu hết hoặc tất cả các nhu cầu của dự án chỉ bằng cách tích hợp với các hợp đồng thông minh hiện có, chẳng hạn như nếu bạn muốn hỗ trợ thanh toán bằng stablecoin hoặc cho phép trao đổi token phi tập trung.
Level 3: Ethereum nodes
Bằng cách kết nối ứng dụng của bạn với nút Ethereum (thông qua JSON RPC spec), ứng dụng của bạn có thể đọc dữ liệu từ blockchain (chẳng hạn như số dư tài khoản người dùng) cũng như phát các giao dịch mới vào mạng (chẳng hạn như chuyển ETH giữa các tài khoản người dùng hoặc thực thi các chức năng của hợp đồng thông minh).
Level 4: Ethereum Client APIs
đối với các thư viện trong Ethereum Client APIS cho phép các ứng dụng người dùng cuối của bạn kết nối và giao tiếp với chuỗi khối Ethereum.
Nếu ứng dụng giao diện người dùng của bạn là ứng dụng web, bạn có thể chọn npm để cài đặt các gói thư viện ví dụ như: Web3.js
hay Ether.js
. Hoặc có lẽ bạn sẽ chọn triển khai chức năng này phía máy chủ, sử dụng API Python Web3.py
hoặc Java Web3J
.
Mặc dù các API này không phải là một phần cần thiết của Ethereum stack nhưng chúng loại bỏ phần lớn sự phức tạp của việc tương tác trực tiếp với một nút Ethereum. Họ cũng cung cấp các chức năng tiện ích (ví dụ: chuyển đổi ETH sang Gwei) để với tư cách là nhà phát triển, bạn có thể dành ít thời gian hơn để xử lý những thứ phức tạp của ứng dụng Ethereum client và dành nhiều thời gian hơn tập trung vào các chức năng ứng dụng mà bạn phát triển.
Level 5: Ứng dụng người dùng cuối
Ở cấp cao nhất của stack là các ứng dụng giao diện người dùng. Đây là những ứng dụng tiêu chuẩn mà bạn thường xuyên sử dụng và xây dựng ngày nay: chủ yếu là ứng dụng web và ứng dụng dành cho thiết bị di động.
Last updated
Was this helpful?