Cấu trúc của một Substrate Node (Client)

Substrate Node Architecture

Gồm 2 phần chính đó là ClientRuntime

Client

  • Là 1 phần của node xử lý các vấn đề low level của blockchain như là p2p, transaction, rpc, storage, ...

Runtime

  • Là 1 phần của node xử lý các state transition function ( hàm dịch chuyển trạng thái như là state machine)

  • State Transition Function :hàm dịch chuyển trạng thái, thay đổi trạng thái n sang trạng thái n+1

Ví dụ:

Architecture

Overview Architecture

RPC (Remote Procedure Call)

Các node blockchain chấp nhận các yêu cầu HTTP và WebSocket đến để cho phép người dùng blockchain tương tác với mạng lưới

Consensus

Substrate hỗ trợ một số consensus:

Storage

  • Ledger, lưu tất cả các thông tin của blockchain

Telemetry

Wasm

https://en.wikipedia.org/wiki/WebAssembly (opens in a new tab)

Native runtime

Native runtime là runtime được biên dịch trực tiếp thành mã máy, phù hợp với kiến trúc của CPU trên thiết bị đang chạy. Điều này có nghĩa là native runtime chạy như một chương trình nhị phân gốc (native binary) trên máy chủ mà không cần lớp trung gian nào

Wasm runtime

Wasm runtime là runtime được biên dịch thành WebAssembly (Wasm), một định dạng mã bytecode trung gian được thiết kế để chạy trên nhiều loại kiến trúc phần cứng khác nhau thông qua một máy ảo (Virtual Machine)

So sánh

Đặc điểmNative RuntimeWasm Runtime
Hiệu suấtThường nhanh hơn do chạy trực tiếp trên phần cứng.Chậm hơn vì cần chạy qua máy ảo Wasm.
Sử dụngSubstrate ưu tiên sử dụng native runtimeĐược sử dụng như phương án dự phòng khi phiên bản native runtime không tương ứng
Cập nhậtYêu cầu cập nhật phần mềm node khi có thay đổi trong runtime.Có thể cập nhật trực tiếp trên chuỗi mà không cần cập nhật phần mềm node.