Mua Crypto
Thị trường
Spot
FuturesBTC
Tiết kiệm
Trung tâm sự kiện
Trung tâm thưởng
Xem thêm
Lễ hội 0 phí
Flow CLI (Dapper Labs): Flow CLI là gì?Flow CLI là giao diện dòng lệnh chính thức để phát triển ứng dụng và tương tác với blockchain Flow.CLI là viết tắt của “command-line interface” (giao diện dòng lệnh). Công cụ này cho phFlow CLI (Dapper Labs): Flow CLI là gì?Flow CLI là giao diện dòng lệnh chính thức để phát triển ứng dụng và tương tác với blockchain Flow.CLI là viết tắt của “command-line interface” (giao diện dòng lệnh). Công cụ này cho ph

Flow CLI (Dapper Labs)

2026/10/13 15:35
#Advanced
FLOW
FLOW$0.03268-7.99%
Humanity
H$0.05397-10.05%
Gravity
G$0.003928-6.27%
PX
PX$0.0125-4.58%
o1.exchange
O$0.4753-0.35%

Flow CLI là gì?

Flow CLI là giao diện dòng lệnh chính thức để phát triển ứng dụng và tương tác với blockchain Flow.

CLI là viết tắt của “command-line interface” (giao diện dòng lệnh). Công cụ này cho phép nhà phát triển điều khiển bằng cách nhập lệnh văn bản trong terminal thay vì nhấp nút trên ứng dụng đồ họa.

Flow CLI có thể khởi tạo dự án blockchain, chạy mạng Flow cục bộ, kiểm thử mã Cadence, triển khai hợp đồng thông minh, gửi giao dịch, chạy script, quản lý tài khoản, tạo khóa, cài đặt dependency của hợp đồng và truy xuất dữ liệu blockchain.

Công cụ cung cấp quy trình phát triển thống nhất trên Flow Emulator cục bộ, Flow Testnet và Flow Mainnet.

Công cụ này chủ yếu dành cho nhà phát triển hợp đồng thông minh, nhóm ứng dụng phi tập trung, kỹ sư cơ sở hạ tầng, tester và những người dùng kỹ thuật khác đang xây dựng trên Flow.

Flow CLI không phải là tiền mã hóa, ví crypto, node blockchain, ứng dụng dành cho người tiêu dùng hay sản phẩm giao dịch.

Đây là phần mềm dành cho nhà phát triển, có thể giao tiếp với Flow Access Nodes và các dịch vụ phát triển cục bộ.

Tài liệu chính thức về Flow CLI mô tả đây là công cụ quản lý dự án, tài khoản, hợp đồng, giao dịch, dependency và truy vấn blockchain trong cùng một giao diện.

Mối liên hệ giữa Flow CLI và Dapper Labs là gì?

Flow ban đầu được Dapper Labs thiết kế và phát triển, vì vậy đôi khi người dùng tìm Flow CLI bằng cụm từ “Flow CLI Dapper Labs”.

Dapper Labs tạo ra Flow nhằm hỗ trợ các ứng dụng blockchain có thể phục vụ lượng lớn người dùng phổ thông mà không buộc mọi ứng dụng phải cạnh tranh để sử dụng cùng nguồn lực xử lý có hạn.

Lịch sử chính thức của Flow và Cadence xác nhận Dapper Labs là đơn vị thiết kế và phát triển blockchain này ban đầu.

Hiện Flow CLI được phân phối dưới dạng phần mềm mã nguồn mở thông qua tổ chức Onflow và là một phần trong hệ sinh thái nhà phát triển Flow rộng lớn hơn.

Kho mã nguồn chính thức của công cụ được công khai theo giấy phép Apache 2.0.

Vì vậy, nên hiểu Flow CLI là bộ công cụ chính thức của mạng Flow, chứ không phải ứng dụng dành cho người tiêu dùng riêng chỉ do Dapper Labs vận hành.

Phiên bản Flow CLI mới nhất là gì?

Tính đến ngày 14 tháng 7 năm 2026, bản phát hành Flow CLI mới nhất là phiên bản 2.17.4.

Phiên bản 2.17.4 được phát hành vào ngày 4 tháng 6 năm 2026 và cập nhật công cụ lên Cadence phiên bản 1.10.3.

Bản phát hành này cũng cập nhật các thành phần hợp đồng cốt lõi Flow đi kèm lên những phiên bản tương thích với Cadence 1.10.3.

Nhà phát triển có thể xác nhận phiên bản hiện tại trên trang phát hành Flow CLI chính thức.

Thông tin phiên bản có thể thay đổi thường xuyên vì CLI cần duy trì khả năng tương thích với các bản phát hành Cadence mới, bản cập nhật emulator, hợp đồng cốt lõi, tính năng mạng và bản sửa lỗi bảo mật.

Nhà phát triển có thể kiểm tra phiên bản đang cài đặt cục bộ bằng cách chạy

flow version
trong terminal.

Nhóm phát triển sản phẩm nên sử dụng phiên bản CLI đã được kiểm thử và cố định trong hệ thống build tự động, thay vì tự động đổi phiên bản trong mỗi lần triển khai.

Vì sao Flow CLI quan trọng?

Phát triển blockchain không chỉ đơn thuần là viết tệp hợp đồng thông minh.

Nhà phát triển còn phải tạo tài khoản, quản lý khóa, xác định địa chỉ hợp đồng, gửi giao dịch đã ký, kiểm tra kết quả, thử nghiệm các điều kiện lỗi và triển khai mã lên đúng mạng.

Flow CLI tập hợp những tác vụ này trong một công cụ thống nhất.

Công cụ giúp giảm nhu cầu tự tạo yêu cầu thô gửi đến Flow Access Nodes cho các thao tác phát triển thường ngày.

CLI cũng giúp các lệnh có thể được lặp lại, rất hữu ích cho việc kiểm thử, script triển khai, tích hợp liên tục và cộng tác nhóm.

Lệnh được lưu trong script triển khai có thể được xem xét và chạy nhất quán trên nhiều môi trường phát triển.

Cách này an toàn hơn việc hoàn toàn dựa vào các bước thủ công không được ghi lại khi thao tác qua giao diện đồ họa.

Cách cài đặt Flow CLI

Có thể cài Flow CLI trên macOS, Windows và hầu hết hệ thống Linux.

Nhà phát triển nên làm theo hướng dẫn cài đặt Flow CLI chính thức vì các tệp nhị phân và phiên bản hệ điều hành được hỗ trợ có thể thay đổi.

Trên macOS, lệnh cài đặt phổ biến là

brew install flow-cli
.

Thông thường, có thể cập nhật bản cài qua Homebrew bằng lệnh

brew upgrade flow-cli
.

Các script cài đặt chính thức cũng được cung cấp cho môi trường Linux, macOS và Windows được hỗ trợ.

Nhà phát triển nên xem xét script cài đặt trước khi chạy script với quyền hệ thống nâng cao.

Cài phần mềm trực tiếp từ website chưa được xác minh hoặc nội dung sao chép từ mạng xã hội có thể khiến máy tính, private key và tệp dự án gặp rủi ro từ mã độc.

Sau khi cài đặt, nhà phát triển nên chạy

flow version
và
flow help
để xác nhận tệp thực thi hoạt động và có trong đường dẫn hệ thống.

Cách bắt đầu một dự án Flow

Lệnh chính để tạo dự án Flow là

flow init
.

Lệnh này tạo cấu trúc dự án và tạo tệp cấu hình trung tâm có tên

flow.json
.

Các phiên bản Flow CLI hiện tại có thể cung cấp bộ khung dự án cho nhiều loại ứng dụng, bao gồm dự án Cadence cơ bản và quy trình blockchain chuyên biệt hơn.

Bộ khung có thể bao gồm thư mục dành cho hợp đồng thông minh, giao dịch, script, kiểm thử và cấu hình dự án.

Hướng dẫn khởi tạo dự án chính thức giải thích cách

flow init
tạo các tệp cần thiết cho môi trường phát triển mới.

Nhà phát triển nên kiểm tra dự án được tạo ra thay vì cho rằng mọi cài đặt mặc định đều phù hợp để dùng trong môi trường production.

Cần kiểm tra địa chỉ mạng, bí danh tài khoản, dependency, cài đặt bên ký và đích triển khai trước khi gửi giao dịch lên mạng chính.

flow.json là gì?

flow.json
là tệp cấu hình trung tâm được Flow CLI sử dụng.

Tệp này mô tả các mạng, tài khoản, hợp đồng, dependency, đích triển khai và đường dẫn dự án mà CLI sẽ sử dụng.

Tài liệu tham chiếu cấu hình flow.json chính thức giải thích các mục và định dạng hiện có.

Mục

networks
xác định kết nối đến các môi trường như emulator, testnet và mainnet.

Mục

accounts
ánh xạ tên tài khoản dễ đọc với địa chỉ Flow và cấu hình khóa ký.

Mục

contracts
ánh xạ tên hợp đồng Cadence với tệp mã nguồn và địa chỉ theo từng mạng.

Mục

deployments
xác định hợp đồng nào cần được triển khai lên tài khoản nào trên từng mạng.

Tệp cấu hình được duy trì tốt cho phép cùng một câu lệnh nhập Cadence trỏ đến các địa chỉ khác nhau trên emulator, testnet và mainnet.

Điều này giúp nhà phát triển tránh mã hóa cứng địa chỉ hợp đồng của một mạng vào mọi tệp nguồn.

Nhóm phát triển nên xem xét các thay đổi đối với

flow.json
thông qua hệ thống quản lý phiên bản, vì việc thay đổi đích triển khai hoặc bí danh tài khoản có thể khiến giao dịch được gửi đến sai môi trường.

flow.json có lưu private key không?

Flow CLI hỗ trợ cấu hình có chứa thông tin private key, nhưng việc đặt trực tiếp private key production chưa mã hóa vào tệp

flow.json
dùng chung là rất nguy hiểm.

Người nắm giữ private key có thể ủy quyền giao dịch blockchain cho tài khoản Flow liên quan, tùy theo trọng số khóa và cấu hình tài khoản.

Nếu tệp cấu hình được tải lên kho mã nguồn công khai, kẻ tấn công có thể chiếm quyền kiểm soát hợp đồng, token và các chức năng quản trị.

Các tùy chọn cấu hình Flow CLI hiện tại bao gồm khóa hexadecimal trực tiếp, tệp khóa bên ngoài, tạo khóa từ mnemonic và tích hợp Google Cloud KMS.

Sử dụng hệ thống quản lý khóa bên ngoài có thể giảm nhu cầu để lộ dữ liệu ký thô trong các tệp dự án cục bộ.

Cần loại trừ tệp khóa, cấu hình theo từng môi trường và các bí mật khác khỏi hệ thống quản lý phiên bản công khai.

Nhà phát triển cũng nên tách riêng khóa emulator, testnet và mainnet.

Khóa dịch vụ emulator mặc định được công khai và chỉ an toàn vì emulator là mạng phát triển cục bộ không chứa tài sản thật.

Flow CLI có thể sử dụng những mạng nào?

Flow CLI có thể tương tác với Flow Emulator cục bộ, Flow Testnet, Flow Mainnet và các endpoint Flow Access Node tùy chỉnh.

Emulator dành cho phát triển cục bộ và riêng tư.

Testnet là môi trường công khai dùng để kiểm thử ứng dụng mà không sử dụng tài sản Flow production.

Mainnet là blockchain production, nơi giao dịch có thể ảnh hưởng đến tài khoản, hợp đồng đã triển khai và tài sản crypto thực.

Nhiều lệnh chấp nhận tùy chọn

--network
để xác định môi trường đích.

Ví dụ, nhà phát triển có thể sử dụng

--network emulator
,
--network testnet
hoặc
--network mainnet
.

Không chỉ định hoặc xác minh mạng có thể khiến lệnh triển khai hoặc giao dịch được gửi đến một nơi khác với dự định của nhà phát triển.

Script production cần chỉ rõ mạng được chọn và yêu cầu kiểm tra bổ sung trước khi sử dụng bên ký mainnet.

Flow Emulator là gì?

Flow Emulator là mạng cục bộ gọn nhẹ, mô phỏng các hành vi quan trọng của blockchain Flow để phát triển và kiểm thử.

Emulator được tích hợp trong Flow CLI và có thể khởi chạy bằng lệnh

flow emulator
.

Tài liệu Flow Emulator chính thức mô tả đây là môi trường cục bộ để thực thi giao dịch, triển khai hợp đồng và kiểm thử ứng dụng trước khi sử dụng mạng công khai.

Vì emulator chạy cục bộ, nhà phát triển có thể đặt lại trạng thái, xem nhật ký chi tiết và kiểm thử lỗi mà không cần tốn tiền mã hóa thật.

Emulator có tài khoản dịch vụ có thể tạo tài khoản, ký giao dịch và triển khai hợp đồng trong môi trường cục bộ.

Private key của tài khoản này không phù hợp để sử dụng trên mainnet vì nó được công khai và có thể đoán trước.

Emulator cung cấp mức độ tương đồng tính năng gần với Flow Access API, nhưng nhà phát triển không nên cho rằng mọi điều kiện production đều có thể được tái tạo hoàn hảo trên một máy tính.

Độ trễ mạng công khai, hành vi validator, tắc nghẽn mạng, dịch vụ bên ngoài và cấu hình tài khoản production có thể tạo ra kết quả khác biệt.

Quy trình phát triển cục bộ diễn ra như thế nào?

Quy trình Flow CLI thông thường bắt đầu bằng việc tạo dự án với

flow init
.

Sau đó, nhà phát triển khởi chạy blockchain cục bộ bằng lệnh

flow emulator
.

Hợp đồng Cadence được thêm vào dự án và khai báo trong

flow.json
.

Nhà phát triển triển khai hợp đồng lên các tài khoản emulator rồi chạy giao dịch kiểm thử hoặc script.

Có thể chạy kiểm thử tự động bằng lệnh

flow test
.

Sau khi kiểm thử cục bộ thành công, có thể triển khai dự án lên testnet để kiểm thử trên mạng công khai dùng chung.

Chỉ nên triển khai lên mainnet sau khi mã, cấu hình tài khoản, quyền của bên ký, dependency và kế hoạch triển khai đã được xem xét.

Flow CLI triển khai hợp đồng thông minh như thế nào?

Flow CLI có thể triển khai hợp đồng thông minh Cadence đến các tài khoản được xác định trong cấu hình dự án.

Lệnh triển khai ở cấp dự án là

flow project deploy
.

Tài liệu triển khai chính thức giải thích rằng lệnh này đọc hợp đồng và đích triển khai từ

flow.json
.

Nhà phát triển có thể chỉ định mạng đích khi triển khai.

Ví dụ,

flow project deploy --network emulator
triển khai các hợp đồng đã cấu hình của dự án lên môi trường cục bộ.

Đổi mạng thành testnet hoặc mainnet sẽ khiến CLI sử dụng tài khoản, bí danh và cấu hình Access Node tương ứng.

Triển khai hợp đồng thông minh là một giao dịch blockchain, do đó cần có ủy quyền từ tài khoản có quyền khóa phù hợp.

Triển khai thất bại có thể do mã Cadence không hợp lệ, không phân giải được câu lệnh nhập, quyền tài khoản không đủ, khóa ký không chính xác hoặc sự cố kết nối mạng.

Triển khai lên mainnet có thể gây hậu quả không thể đảo ngược, vì vậy nhà phát triển nên xác minh mã nguồn hợp đồng và địa chỉ tài khoản trước khi ký.

Flow CLI có thể cập nhật hợp đồng hiện có không?

Flow CLI có thể gửi giao dịch cập nhật hợp đồng đã được lưu trong tài khoản Flow.

Việc cập nhật phải được ủy quyền bởi khóa có trọng số đủ lớn trên tài khoản sở hữu hợp đồng.

Các bản cập nhật hợp đồng Cadence phải tuân theo quy tắc của ngôn ngữ và mạng nhằm bảo vệ tài nguyên đã lưu cùng trạng thái ứng dụng hiện có.

Dù giao dịch hợp lệ về mặt kỹ thuật, bản cập nhật vẫn có thể tạo lỗi, làm gián đoạn ứng dụng phụ thuộc hoặc thay đổi hành vi dự kiến.

Nhà phát triển nên chạy kiểm thử di chuyển và xác nhận khả năng tương thích với dữ liệu tài khoản hiện có trước khi cập nhật hợp đồng production.

Hướng dẫn triển khai hợp đồng Flow chính thức giải thích cách thiết lập tài khoản, triển khai và các lưu ý khi cập nhật hợp đồng.

Cadence là gì?

Cadence là ngôn ngữ lập trình hợp đồng thông minh được thiết kế cho blockchain Flow.

Ngôn ngữ này sử dụng khái niệm lập trình hướng tài nguyên để biểu diễn tài sản crypto và những giá trị khác không nên bị sao chép hoặc làm mất ngoài ý muốn.

Flow CLI bao gồm các công cụ cần thiết để thực thi, kiểm thử, lint, triển khai và tương tác với mã Cadence.

Phiên bản CLI và Cadence phải duy trì tính tương thích vì thay đổi ngôn ngữ có thể ảnh hưởng đến quá trình phân tích cú pháp, kiểm tra kiểu, thực thi và hành vi của hợp đồng.

Tính đến Flow CLI phiên bản 2.17.4, phiên bản Cadence đi kèm là 1.10.3.

Nhà phát triển có thể tìm hiểu hành vi hiện tại của ngôn ngữ trong tài liệu Cadence chính thức.

Script Cadence và giao dịch khác nhau như thế nào?

Script Cadence đọc trạng thái blockchain mà không thay đổi trạng thái đó vĩnh viễn.

Script có thể truy xuất số dư tài khoản, đọc trường công khai của hợp đồng, tính toán kết quả hoặc kiểm tra các capability công khai đã lưu.

Script không cần ủy quyền giao dịch vì không thể sửa đổi trạng thái blockchain.

Giao dịch Cadence có thể thay đổi trạng thái blockchain.

Giao dịch có thể chuyển tài sản crypto, tạo resource, gọi hàm hợp đồng, sửa đổi dữ liệu lưu trữ tài khoản hoặc thực hiện các hành động được ủy quyền khác.

Giao dịch phải được ký bởi các tài khoản đảm nhiệm vai trò payer, proposer hoặc authorizer.

Flow CLI cung cấp các nhóm lệnh riêng để chạy script và gửi giao dịch.

Sự khác biệt này rất quan trọng vì gửi giao dịch đi kèm rủi ro về ủy quyền, phí và thay đổi trạng thái, khác với script chỉ đọc dữ liệu.

Flow CLI gửi giao dịch như thế nào?

Flow CLI có thể tạo, ký, gửi và truy xuất giao dịch Flow.

Lệnh giao dịch xác định tệp giao dịch Cadence, tham số, cấu hình bên ký và mạng đích.

CLI sử dụng thông tin tài khoản trong

flow.json
hoặc các tùy chọn dòng lệnh để tạo chữ ký cần thiết.

Sau khi được gửi, giao dịch Flow trải qua nhiều trạng thái trước khi đạt kết quả cuối cùng ở trạng thái sealed.

Giao dịch có thể thất bại sau khi gửi nếu quá trình thực thi Cadence gặp lỗi.

Nhà phát triển nên kiểm tra kết quả giao dịch, event được phát ra và thông báo lỗi, thay vì xem việc gửi giao dịch là bằng chứng giao dịch thành công.

Cú pháp lệnh chính xác và các flag hiện có được liệt kê trong tổng quan lệnh Flow CLI chính thức.

Flow CLI quản lý tài khoản như thế nào?

Tài khoản Flow có thể chứa tài sản crypto, hợp đồng thông minh, resource được lưu trữ, capability công khai và một hoặc nhiều public key.

Flow CLI có thể tạo tài khoản, truy xuất thông tin tài khoản, kiểm tra khóa, thêm hoặc thu hồi khóa và triển khai hợp đồng lên các tài khoản được ủy quyền.

Mô hình tài khoản tách địa chỉ Flow khỏi một public key cụ thể.

Một tài khoản có thể chứa nhiều khóa với trọng số, thuật toán chữ ký, thuật toán hash và số thứ tự khác nhau.

Thiết kế này hỗ trợ luân chuyển khóa, sử dụng nhiều thiết bị, quyền kiểm soát chung và các mô hình ủy quyền khác.

Tài liệu tài khoản Flow chính thức giải thích sự khác biệt giữa tài khoản Flow và các mô hình địa chỉ trong đó một khóa duy nhất quyết định vĩnh viễn một địa chỉ.

Thu hồi khóa bị xâm phạm chỉ có thể bảo vệ tài khoản nếu các khóa hợp lệ khác vẫn có đủ trọng số ủy quyền.

Nhà phát triển nên kiểm thử quy trình quản lý khóa trước khi dựa vào quy trình đó cho các tài khoản production có giá trị cao.

Flow CLI xử lý khóa mật mã như thế nào?

Flow CLI có lệnh tạo và giải mã khóa tương thích với Flow.

Công cụ cũng cung cấp lệnh tạo và xác minh chữ ký số.

Quá trình tạo khóa phải sử dụng nguồn ngẫu nhiên an toàn vì kẻ tấn công có thể khôi phục private key dễ đoán.

Không bao giờ dán private key vào vấn đề công khai, bản ghi terminal dùng chung, tin nhắn trò chuyện hoặc kho mã nguồn.

Lịch sử dòng lệnh cũng có thể làm lộ bí mật khi nhập private key trực tiếp dưới dạng tham số lệnh.

Hệ thống production nên ưu tiên tệp khóa chuyên dụng với quyền truy cập bị giới hạn, bộ lưu trữ phần cứng hoặc dịch vụ quản lý khóa được hỗ trợ.

Cần bảo vệ bản sao lưu khóa vì nếu mất tất cả khóa hợp lệ, người dùng có thể mất vĩnh viễn khả năng kiểm soát tài khoản.

Trình quản lý dependency của Flow CLI là gì?

Trình quản lý dependency của Flow CLI cài đặt và theo dõi các hợp đồng Cadence bên ngoài được dự án sử dụng.

Hợp đồng thông minh thường phụ thuộc vào các tiêu chuẩn, giao diện và phần triển khai được triển khai ở nơi khác trên mạng Flow.

Trình quản lý dependency có thể truy xuất mã nguồn hợp đồng và cập nhật cấu hình dự án để các câu lệnh nhập được phân giải chính xác.

Lệnh

flow dependencies list
hiển thị các dependency hiện được ghi nhận trong dự án.

Lệnh

flow dependencies install
có thể cài dependency từ một vị trí mạng được hỗ trợ.

Tài liệu quản lý dependency chính thức giải thích cách cài đặt, kiểm tra và quản lý dependency của hợp đồng.

Nhà phát triển nên xem xét mã và địa chỉ dependency, thay vì cho rằng mọi hợp đồng on-chain đều an toàn.

Dependency độc hại hoặc bị xác định sai có thể đưa hành vi trái phép vào ứng dụng phi tập trung.

Nhóm phát triển cũng nên cân nhắc liệu tài khoản khác có thể cập nhật hợp đồng được nhập sau khi ứng dụng của họ được triển khai hay không.

Flow CLI kiểm thử hợp đồng thông minh Cadence như thế nào?

Flow CLI bao gồm Cadence Testing Framework và chạy tệp kiểm thử bằng lệnh

flow test
.

Kiểm thử có thể xác minh hợp đồng thông minh, script, giao dịch, event được phát ra, thay đổi tài khoản và các trường hợp lỗi dự kiến.

Hệ thống kiểm thử sử dụng Flow Emulator bên dưới môi trường kiểm thử Cadence.

Nhờ đó, kiểm thử có thể tạo tài khoản, triển khai hợp đồng, gửi giao dịch và kiểm tra trạng thái mà không ảnh hưởng đến blockchain công khai.

Hướng dẫn kiểm thử Cadence chính thức giải thích quy trình kiểm thử đơn vị và kiểm thử tích hợp.

Kiểm thử tích hợp đặc biệt hữu ích vì có thể phát hiện vấn đề liên quan đến thiết lập tài khoản, ủy quyền giao dịch, câu lệnh nhập, capability và việc chuyển resource.

Tỷ lệ bao phủ mã cao không chứng minh hợp đồng an toàn vì kiểm thử có thể bỏ sót những giả định nguy hiểm nhất.

Hợp đồng quan trọng về bảo mật cũng cần được xem xét thủ công, kiểm thử đối kháng và kiểm toán độc lập khi phù hợp.

Kiểm thử fork trong Flow CLI là gì?

Kiểm thử fork tạo môi trường phát triển cục bộ có thể đọc trạng thái từ Flow Mainnet hoặc Testnet trong khi thực thi các thay đổi cục bộ.

Nhờ đó, nhà phát triển có thể kiểm thử mã với hợp đồng, địa chỉ và trạng thái blockchain thực đã triển khai mà không sửa đổi mạng công khai ban đầu.

Nhà phát triển có thể khởi chạy fork dựa trên mainnet bằng lệnh như

flow emulator --fork mainnet
.

Hướng dẫn kiểm thử fork Flow chính thức giải thích cách emulator cục bộ mô phỏng trạng thái từ một mạng Flow khác.

Kiểm thử fork hữu ích khi ứng dụng phụ thuộc vào hợp đồng hoặc dữ liệu tài khoản khó tái tạo thủ công.

Phương pháp này cũng có thể giúp xác định vấn đề tương thích trước khi cập nhật hợp đồng production.

Môi trường fork không giống với việc tạo một fork vĩnh viễn của blockchain Flow.

Đây là bản sao riêng tư dùng để kiểm thử; các giao dịch cục bộ không làm thay đổi mainnet hoặc testnet.

Nhà phát triển vẫn nên xác minh độ cao block và mạng đã chọn vì kết quả có thể khác khi trạng thái production thay đổi sau đó.

Lint trong Flow CLI là gì?

Lint kiểm tra mã nguồn để tìm lỗi tiềm ẩn, mẫu không an toàn, vấn đề định dạng và các vấn đề khác mà không cần triển khai hợp đồng.

Flow CLI cung cấp lệnh

flow lint
cho các dự án Cadence.

Lint có thể phát hiện sớm một số vấn đề trong quá trình phát triển và có thể được thêm vào các bước kiểm tra tự động.

Phiên bản hiện tại hỗ trợ tùy chọn thư mục gốc cho dự án lưu tệp Cadence ngoài vị trí mặc định.

Kết quả lint thành công không chứng minh logic nghiệp vụ, kiểm soát quyền truy cập, cơ chế khuyến khích kinh tế hoặc hành vi quản lý resource là chính xác.

Nên sử dụng lint kết hợp với kiểm thử, đánh giá mã và giám sát production.

Flow CLI truy vấn dữ liệu blockchain như thế nào?

Flow CLI có thể truy xuất tài khoản, block, collection, event, giao dịch, kết quả thực thi và thông tin khác được cung cấp qua Flow Access API.

Lệnh

flow blocks get
có thể truy xuất block theo mã định danh, độ cao hoặc block mới nhất hiện có.

Lệnh

flow accounts get
truy xuất thông tin về một tài khoản Flow.

Các lệnh event có thể truy xuất event được phát ra trong một khoảng block đã chọn.

Lệnh giao dịch có thể kiểm tra trạng thái và kết quả của giao dịch đã gửi.

Các chức năng này hữu ích cho phát triển, gỡ lỗi, giám sát và điều tra blockchain ở mức cơ bản.

CLI không phải là trình lập chỉ mục lịch sử hoàn chỉnh vì Access Nodes và dịch vụ lập chỉ mục chuyên biệt có thể cung cấp các khả năng truy vấn khác nhau.

Ứng dụng phân tích quy mô lớn thường cần cơ sở dữ liệu, dịch vụ xử lý event hoặc cơ sở hạ tầng chuyên dụng khác bên cạnh các lệnh CLI.

Flow Interaction Templates là gì?

Flow Interaction Templates cung cấp mô tả chuẩn hóa cho giao dịch và script Cadence.

Đôi khi các template này được gọi là FLIX template.

Template có thể mô tả mã tương tác, tham số, dependency và metadata cần thiết để ví hoặc ứng dụng hiểu một thao tác.

Flow CLI có các lệnh FLIX để chạy, tạo và đóng gói các tương tác được hỗ trợ.

Template có thể cải thiện tính nhất quán giữa nhà phát triển ứng dụng, ví và hợp đồng thông minh.

Người dùng vẫn phải xác minh mã và tham số giao dịch trước khi ký vì template không loại bỏ rủi ro từ hợp đồng thông minh hoặc ví.

Lệnh giao dịch theo lịch là gì?

Các phiên bản Flow CLI hiện tại có lệnh tương tác với giao dịch theo lịch của Flow.

Giao dịch theo lịch cho phép hợp đồng thông minh sắp xếp việc thực thi tự động trong tương lai theo quy tắc lập lịch của mạng.

Các trường hợp sử dụng crypto có thể bao gồm chuyển tiền định kỳ, hành động hợp đồng bị trì hoãn, logic tài chính tự động và hành vi ứng dụng dựa trên thời gian.

Lệnh

flow schedule setup
có thể tạo resource quản lý cần thiết để quản lý giao dịch theo lịch cho một tài khoản.

Các lệnh bổ sung có thể liệt kê, kiểm tra và hủy giao dịch theo lịch được hỗ trợ.

Tài liệu giao dịch theo lịch chính thức giải thích các yêu cầu thiết lập, mức ưu tiên và cách hoạt động của lệnh.

Lập lịch giao dịch không đảm bảo kết quả kinh tế sẽ có lợi vì giá tài sản, số dư tài khoản, trạng thái hợp đồng và điều kiện mạng có thể thay đổi trước khi giao dịch được thực hiện.

Flowser là gì?

Flowser là trình khám phá trực quan có thể sử dụng với môi trường Flow Emulator cục bộ.

Flow CLI có lệnh khởi chạy Flowser khi các thành phần cần thiết được cung cấp.

Giao diện này giúp nhà phát triển kiểm tra tài khoản cục bộ, hợp đồng, block, giao dịch và event mà không phải truy vấn thủ công từng mục.

Flowser bổ trợ cho dòng lệnh nhưng không thay thế kiểm thử tự động hoặc đánh giá mã nguồn.

Kết quả hiển thị trong trình khám phá cục bộ áp dụng cho trạng thái emulator hiện tại và không nên nhầm với hoạt động trên mainnet.

Flow Dev Wallet là gì?

Flow Dev Wallet là công cụ phát triển dùng để kiểm thử việc ủy quyền ví và tương tác với ứng dụng.

Flow CLI có thể khởi chạy môi trường ví phát triển cho các quy trình cục bộ được hỗ trợ.

Nhà phát triển có thể dùng công cụ này để mô phỏng đăng nhập, ủy quyền tài khoản, phê duyệt giao dịch và các hành vi ví khác khi xây dựng ứng dụng phi tập trung.

Dev Wallet không được thiết kế để bảo vệ tài sản production có giá trị.

Ứng dụng production phải tích hợp với ví phù hợp của người dùng và tuân thủ các quy trình xác thực, xem xét giao dịch an toàn.

Flow CLI có hỗ trợ Flow EVM không?

Flow hỗ trợ cả hợp đồng thông minh Cadence lẫn môi trường Ethereum Virtual Machine, nhưng Flow CLI chủ yếu là công cụ dòng lệnh chính thức cho mô hình phát triển Cadence và Access API của Flow.

Ứng dụng Solidity trên Flow EVM thường sử dụng công cụ JSON-RPC tương thích EVM và EVM Gateway.

Tài liệu EVM Gateway chính thức của Flow giải thích rằng các ứng dụng EVM kết nối thông qua gateway triển khai đặc tả Ethereum JSON-RPC.

Ứng dụng Cadence cũng có thể tương tác với Flow EVM thông qua Cadence Owned Accounts và hợp đồng mạng.

Nhà phát triển nên chọn công cụ dựa trên việc ứng dụng được viết bằng Cadence, Solidity hay kết hợp cả hai môi trường thực thi.

Sử dụng tên Flow CLI không có nghĩa mọi thao tác dành riêng cho EVM đều được thực hiện bằng cùng một bộ lệnh.

Flow CLI và Flow SDK

Flow CLI là công cụ terminal có thể tương tác và chạy bằng script.

Flow software development kit (SDK) là thư viện lập trình được nhập vào mã ứng dụng.

CLI hữu ích cho phát triển cục bộ, cấu hình dự án, tương tác mạng thủ công, kiểm thử và tự động hóa triển khai.

SDK phù hợp hơn với dịch vụ backend, máy chủ ứng dụng, bot, ví, trình lập chỉ mục và phần mềm khác cần giao tiếp với Flow trong khi chạy.

Nhóm phát triển có thể dùng Flow CLI để triển khai hợp đồng, sau đó dùng SDK JavaScript, Go hoặc SDK di động để tương tác với hợp đồng từ ứng dụng.

Hai nhóm công cụ bổ trợ cho nhau, chứ không thay thế trực tiếp cho nhau.

Flow CLI và môi trường phát triển đồ họa

Môi trường phát triển đồ họa cung cấp menu, trình soạn thảo, công cụ tài khoản trực quan và các tính năng thao tác bằng cách nhấp chuột.

Flow CLI cung cấp các lệnh dễ tự động hóa, lưu trong script và tái tạo trong quy trình tích hợp liên tục.

Công cụ đồ họa có thể dễ tiếp cận hơn với người mới bắt đầu, trong khi CLI có thể mang lại khả năng kiểm soát và tính minh bạch cao hơn cho quy trình có thể lặp lại.

Nhiều nhà phát triển sử dụng cả hai cách: chỉnh sửa Cadence trong môi trường phát triển tích hợp, đồng thời chạy lệnh Flow CLI trong terminal nhúng.

Tiện ích Cadence chính thức có thể cung cấp hỗ trợ cú pháp và phát triển, trong khi Flow CLI xử lý việc thực thi và triển khai.

Có thể sử dụng Flow CLI trong quy trình tích hợp liên tục không?

Có thể đưa các lệnh Flow CLI vào quy trình tích hợp liên tục và triển khai liên tục.

Pipeline có thể cài phiên bản CLI cố định, chạy lint các tệp Cadence, thực hiện kiểm thử, khởi tạo emulator, triển khai hợp đồng kiểm thử và xác minh giao dịch theo kỳ vọng.

Triển khai mainnet tự động đòi hỏi biện pháp kiểm soát nghiêm ngặt hơn nhiều so với kiểm thử tự động.

Private key nên được lưu trong hệ thống quản lý bí mật an toàn, thay vì đặt trực tiếp trong tệp pipeline.

Triển khai production có thể cần phê duyệt thủ công, artifact phát hành đã ký, nhánh được bảo vệ và nhiều người đánh giá.

Pipeline nên dừng nếu kiểm thử, bước lint, xác minh triển khai hoặc kiểm tra kết quả giao dịch không cho ra kết quả như dự kiến.

Nhóm phát triển cũng nên ghi lại phiên bản Flow CLI và Cadence được sử dụng cho mỗi lần phát hành.

Flow CLI có thu thập dữ liệu sử dụng không?

Hiện Flow CLI mặc định thu thập số liệu tổng hợp về số lần sử dụng lệnh thông qua Mixpanel.

Tài liệu chính thức cho biết giá trị tham số lệnh và giá trị flag không được thu thập trong hệ thống thống kê lượt sử dụng này.

Người dùng có thể tắt tính năng thu thập số liệu bằng lệnh

flow settings metrics disable
.

Có thể bật lại số liệu bằng lệnh

flow settings metrics enable
.

Trang chính thức về việc thu thập dữ liệu Flow CLI giải thích dữ liệu nào được thu thập và cách thay đổi cài đặt.

Các tổ chức có yêu cầu về quyền riêng tư, tuân thủ hoặc môi trường build biệt lập nên xem xét cách hoạt động của telemetry trước khi cài CLI trong môi trường được kiểm soát.

Thực tiễn bảo mật tốt nhất khi dùng Flow CLI

Nhà phát triển chỉ nên cài Flow CLI theo tài liệu chính thức hoặc từ các tệp phát hành đã được xác minh.

Cần xác minh mạng được chọn trước khi ký hoặc triển khai bất kỳ giao dịch nào.

Không nên lưu private key mainnet dưới dạng văn bản thuần trong tệp dự án công khai.

Nên sử dụng tài khoản và khóa riêng cho phát triển cục bộ, kiểm thử, quản trị hợp đồng, kiểm soát ngân quỹ và hoạt động ứng dụng thường ngày.

Tài khoản production nên sử dụng trọng số khóa phù hợp và tránh phụ thuộc vào một máy tính xách tay của nhà phát triển không được bảo vệ.

Cần xác minh địa chỉ hợp đồng được nhập và địa chỉ dependency cho từng mạng.

Cần xem xét vai trò bên ký, tham số, giới hạn gas và hợp đồng đích của giao dịch trước khi gửi.

Nhà phát triển nên kiểm tra kết quả giao dịch đã sealed thay vì cho rằng giao dịch đã gửi chắc chắn thành công.

Cần kiểm thử phiên bản CLI trước khi đưa bản nâng cấp vào quy trình production.

Nên thu hồi khóa tài khoản cũ hoặc không còn sử dụng khi đã có phương thức ủy quyền thay thế an toàn.

Không bao giờ nhập seed phrase hoặc private key vào website tự nhận là cần thông tin đó để kích hoạt Flow CLI.

Lỗi thường gặp với Flow CLI

Lỗi kết nối có thể do emulator chưa chạy, địa chỉ Access Node không chính xác, cổng được chọn không khả dụng hoặc không thể truy cập dịch vụ mạng.

Lỗi ủy quyền có thể do private key, chỉ số khóa, số thứ tự, thuật toán chữ ký, thuật toán hash hoặc địa chỉ tài khoản không chính xác.

Lỗi nhập có thể xảy ra khi thiếu bí danh hợp đồng Cadence hoặc bí danh trỏ đến sai địa chỉ mạng.

Lỗi triển khai có thể do mã Cadence không hợp lệ, phiên bản ngôn ngữ không tương thích, thiếu dependency hoặc tài khoản không đủ quyền ủy quyền.

Giao dịch có thể thất bại nếu tham số có kiểu Cadence không phù hợp hoặc tài khoản thiếu resource hay capability cần thiết.

Lỗi số thứ tự có thể xảy ra khi nhiều giao dịch gần như đồng thời sử dụng cùng một khóa proposer.

Nhà phát triển nên đọc toàn bộ nội dung lỗi, xác nhận mạng đang hoạt động và sử dụng tùy chọn

--help
của lệnh trước khi thay đổi các cài đặt dự án không liên quan.

Các trường hợp sử dụng Flow CLI phổ biến

Flow CLI có thể được dùng để tạo và cấu hình dự án Cadence mới.

Công cụ có thể chạy blockchain cục bộ để phát triển hợp đồng thông minh.

Công cụ có thể tạo tài khoản và quản lý khóa tài khoản.

Công cụ có thể triển khai và cập nhật hợp đồng Cadence.

Công cụ có thể chạy script chỉ đọc và giao dịch đã ký.

Công cụ có thể cài dependency hợp đồng và quản lý bí danh mạng.

Công cụ có thể chạy kiểm thử đơn vị, kiểm thử tích hợp, lint và kiểm thử fork dựa trên trạng thái mainnet.

Công cụ có thể truy xuất block, giao dịch, tài khoản, collection và event.

Công cụ có thể hỗ trợ pipeline build và triển khai tự động.

Công cụ cũng có thể giúp nhà phát triển tái hiện thao tác blockchain khi điều tra lỗi ứng dụng.

Hạn chế của Flow CLI

Flow CLI không tự động giúp hợp đồng thông minh an toàn.

Công cụ không thể ngăn nhà phát triển ký giao dịch gây hại hoặc triển khai mã lên sai tài khoản.

Công cụ không thay thế việc kiểm toán chuyên nghiệp, mô hình hóa mối đe dọa, thiết kế kiểm soát truy cập hoặc giám sát vận hành.

Emulator cục bộ không thể mô phỏng hoàn hảo mọi điều kiện của mạng công khai.

CLI cũng không phải giao diện ví hoàn chỉnh dành cho người dùng phổ thông.

Công cụ không cung cấp cơ sở dữ liệu phân tích lịch sử đầy đủ cho mọi giao dịch Flow.

Nhà phát triển vẫn cần hiểu Cadence, tài khoản Flow, vai trò giao dịch, capability, lưu trữ resource, dependency và bảo mật mạng.

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

Flow CLI có nghĩa là gì?

Flow CLI là viết tắt của Flow Command-Line Interface, công cụ phát triển chính thức trên terminal dành cho blockchain Flow.

Flow CLI có phải do Dapper Labs tạo ra không?

Flow ban đầu do Dapper Labs thiết kế và phát triển, còn Flow CLI hiện được duy trì dưới dạng phần mềm mã nguồn mở chính thức trong hệ sinh thái Flow thông qua tổ chức Onflow.

Flow CLI có phải là ví tiền mã hóa không?

Không. Flow CLI là công cụ dành cho nhà phát triển, dù công cụ có thể sử dụng private key đã cấu hình để ký giao dịch và quản lý tài khoản Flow.

Phiên bản Flow CLI mới nhất là gì?

Tính đến ngày 14 tháng 7 năm 2026, bản phát hành chính thức mới nhất là Flow CLI phiên bản 2.17.4.

Flow CLI 2.17.4 đi kèm phiên bản Cadence nào?

Flow CLI phiên bản 2.17.4 đi kèm Cadence phiên bản 1.10.3.

Cách cài Flow CLI trên macOS?

Một phương pháp phổ biến là chạy

brew install flow-cli
thông qua Homebrew.

Làm thế nào để kiểm tra phiên bản Flow CLI?

Chạy

flow version
trong terminal.

Làm thế nào để tạo dự án Flow mới?

Chạy

flow init
và chọn bộ khung dự án phù hợp.

flow.json là gì?

flow.json
là tệp cấu hình chính của dự án, xác định mạng, tài khoản, hợp đồng, dependency và đích triển khai.

Làm thế nào để khởi chạy Flow Emulator?

Chạy

flow emulator
trong terminal.

Flow Emulator có sử dụng FLOW thật không?

Không. Emulator cục bộ sử dụng trạng thái và tài sản phát triển không có giá trị trên mainnet.

Flow CLI có thể triển khai hợp đồng lên mainnet không?

Có. Flow CLI có thể triển khai hợp đồng lên Flow Mainnet khi có mạng, tài khoản, khóa và cấu hình triển khai chính xác.

Lệnh nào triển khai dự án Flow?

Lệnh triển khai dự án tiêu chuẩn là

flow project deploy
, thường được dùng kèm tùy chọn mạng cụ thể.

Flow CLI có thể cập nhật hợp đồng thông minh không?

Có. Công cụ có thể gửi giao dịch cập nhật hợp đồng đã được ủy quyền, theo các quy tắc của Cadence và mạng Flow.

Làm thế nào để chạy kiểm thử Cadence?

Chạy

flow test
trong một dự án Flow đã được cấu hình.

Kiểm thử fork Flow là gì?

Kiểm thử fork chạy một môi trường cục bộ dựa trên bản sao trạng thái mainnet hoặc testnet mà không thay đổi blockchain công khai.

Flow CLI có hỗ trợ tạo tài khoản không?

Có. Flow CLI có thể tạo và truy xuất tài khoản Flow cũng như quản lý khóa của tài khoản.

Flow CLI có thể đọc dữ liệu blockchain không?

Có. Công cụ có thể truy xuất block, tài khoản, giao dịch, event, collection và dữ liệu khác có trên Flow Access Nodes.

Script Flow và giao dịch khác nhau như thế nào?

Script đọc trạng thái mà không thay đổi blockchain, trong khi giao dịch được ký và có thể sửa đổi trạng thái blockchain.

Flow CLI có thể quản lý dependency của hợp đồng không?

Có. Trình quản lý dependency có thể cài đặt, liệt kê và theo dõi các hợp đồng Cadence bên ngoài được dự án sử dụng.

Flow CLI có thu thập telemetry không?

Hiện Flow CLI mặc định thu thập số liệu tổng hợp về số lần chạy lệnh; người dùng có thể tắt tính năng này bằng lệnh

flow settings metrics disable
.

Có nên lưu private key trong flow.json không?

Không nên lưu private key production dưới dạng văn bản chưa mã hóa trong tệp

flow.json
dùng chung hoặc công khai.

Có thể sử dụng Flow CLI trong triển khai tự động không?

Có, nhưng triển khai production nên sử dụng phiên bản cố định, bảo vệ thông tin bí mật, kiểm soát quy trình đánh giá và xác minh mạng rõ ràng.

Flow CLI có hoạt động với Flow Testnet không?

Có. Testnet là một trong những môi trường tiêu chuẩn được hỗ trợ thông qua cấu hình mạng Flow CLI.

Flow CLI có được dùng để phát triển Solidity không?

Flow CLI chủ yếu hỗ trợ Cadence và quy trình Flow Access API, trong khi ứng dụng Solidity trên Flow EVM thường sử dụng công cụ JSON-RPC tương thích EVM.

Flow CLI có mã nguồn mở không?

Có. Mã nguồn Flow CLI được công khai theo giấy phép Apache 2.0.

Sử dụng Flow CLI có thể khiến người dùng mất tiền mã hóa không?

Có. Khóa, mạng, địa chỉ, mã hợp đồng hoặc tham số giao dịch không chính xác có thể gây tổn thất không thể đảo ngược trên mainnet.

Kết luận

Flow CLI là công cụ phát triển dòng lệnh chính thức để xây dựng và tương tác với ứng dụng trên blockchain Flow.

Mối liên hệ giữa Flow CLI và Dapper Labs bắt nguồn từ việc Dapper Labs thiết kế và phát triển Flow ban đầu, trong khi CLI hiện hoạt động dưới dạng phần mềm mã nguồn mở trong hệ sinh thái Flow.

Công cụ kết hợp các chức năng khởi tạo dự án, truy cập emulator, kiểm thử Cadence, quản lý tài khoản, thao tác khóa, triển khai hợp đồng, quản lý dependency, gửi giao dịch và truy vấn blockchain.

Hệ thống cấu hình

flow.json
cho phép nhà phát triển quản lý môi trường nhất quán trên emulator, testnet, mainnet và các mạng fork cục bộ.

Flow CLI có thể giúp quy trình phát triển blockchain dễ lặp lại hơn, nhưng không loại bỏ rủi ro từ khóa không an toàn, hợp đồng lỗi, chọn sai đích triển khai, dependency độc hại hoặc giao dịch không thể đảo ngược.

Nhà phát triển nên sử dụng bản phát hành chính thức, bảo vệ thông tin xác thực ký, kiểm thử trên nhiều môi trường, kiểm tra kết quả giao dịch và áp dụng quy trình đánh giá nghiêm ngặt trước khi triển khai lên Flow Mainnet.
Điều chỉnh hay cơ hội?
Điều chỉnh hay cơ hội?Điều chỉnh hay cơ hội?
Vì sao BTC ETF hút $2.4 tỷ giữa làn sóng thanh lý