Tài liệu SolanaTài liệu tham khảo

Tài liệu tham khảo Solana CLI

Giao diện dòng lệnh solana cho phép cấu hình kết nối cluster, đọc trạng thái mạng, gửi SOL, quản lý durable nonce, triển khai chương trình và vận hành các tài khoản stake và vote.

Tài liệu tham khảo này dựa trên Agave v4.2.1. Chạy solana --version để kiểm tra phiên bản đã cài đặt và dùng --help để xem chính xác các tùy chọn có trong phiên bản đó.

Các lệnh tạo, chuyển, ủy quyền, rút hoặc triển khai sẽ gửi giao dịch. Hãy xác nhận cluster và signer đã cấu hình trước khi chạy chúng. Token Devnet và Testnet không có giá trị; các lệnh trên Mainnet sử dụng SOL thật.

Cấu trúc lệnh

solana [GLOBAL_OPTIONS] <COMMAND> [COMMAND_OPTIONS]

Xem trợ giúp ở bất kỳ cấp nào:

solana --help
solana transfer --help
solana address-lookup-table extend --help

Tùy chọn toàn cục

Các tùy chọn toàn cục có thể đặt trước lệnh. Phần trợ giúp riêng của từng lệnh sẽ lặp lại các tùy chọn áp dụng cho lệnh đó.

Tùy chọnMục đích
-u, --url <URL_OR_MONIKER>Chọn một RPC URL hoặc mainnet-beta, testnet, devnet hay localhost.
--ws <URL>Ghi đè endpoint WebSocket.
-k, --keypair <KEYPAIR>Chọn một tệp keypair, ASK, stdin (-) hoặc một URL signer được hỗ trợ.
-C, --config <FILEPATH>Sử dụng một tệp cấu hình CLI khác.
--commitment <LEVEL>Đọc ở mức commitment processed, confirmed hoặc finalized.
--output <FORMAT>Trả về json hoặc json-compact ở những lệnh có hỗ trợ.
--skip-preflightGửi mà không mô phỏng qua RPC. Chỉ dùng khi đã hiểu rõ sự đánh đổi về rủi ro thất bại.
--use-tpu-clientGửi giao dịch thông qua TPU client.
--no-address-labelsIn địa chỉ mà không kèm nhãn cục bộ.
--skip-seed-phrase-validationCho phép dùng cụm từ khôi phục nằm ngoài danh sách tiếng Anh của BIP39.
-v, --verboseHiển thị thêm thông tin đầu ra của lệnh.
-V, --versionIn phiên bản CLI đã cài đặt.

Cấu hình CLI

# Inspect the effective configuration.
solana config get
# Use Devnet and a specific signer by default.
solana config set --url devnet
solana config set --keypair ./devnet-keypair.json
# Override defaults for one command.
solana --url mainnet-beta --keypair usb://ledger address

Cấu hình bao gồm RPC URL, WebSocket URL, signer mặc định và commitment. Một tùy chọn dòng lệnh sẽ ghi đè giá trị đã lưu cho lần gọi lệnh đó.

Quy trình làm việc phổ biến với tài khoản và giao dịch

# Print the default signer's address and balance.
solana address
solana balance
# Read an account as JSON.
solana account <ACCOUNT_ADDRESS> --output json
# Request Devnet SOL.
solana airdrop 1 --url devnet
# Send SOL and then confirm the returned signature.
solana transfer <RECIPIENT_ADDRESS> 0.1 --allow-unfunded-recipient
solana confirm <TRANSACTION_SIGNATURE>
# Inspect recent activity and stream logs mentioning an address.
solana transaction-history <ADDRESS> --limit 20
solana logs <ADDRESS>

transfer mặc định chuyển SOL. Dùng ALL làm số lượng để chuyển toàn bộ số dư khả dụng sau khi trừ phí. Để xem ví dụ về token, hãy xem hướng dẫn nhanh về token.

Quy trình làm việc với chương trình

# Deploy or upgrade an SBF program.
solana program deploy ./target/deploy/my_program.so
# Inspect the deployed program and list programs controlled by the signer.
solana program show <PROGRAM_ID>
solana program show --programs
# Close a program buffer and recover its lamports.
solana program close <BUFFER_ADDRESS>

Truyền --program-id <KEYPAIR_OR_ADDRESS> khi một lần triển khai phải dùng một program ID đã biết. --final biến một lần triển khai mới thành bất biến; hãy đọc kỹ phần trợ giúp trước khi sử dụng vì không thể khôi phục upgrade authority.

Quy trình làm việc với durable nonce

solana-keygen new --outfile nonce-account.json
solana create-nonce-account nonce-account.json 0.1
solana nonce nonce-account.json
solana new-nonce nonce-account.json
solana withdraw-from-nonce-account nonce-account.json <RECIPIENT_ADDRESS> ALL

Dùng authorize-nonce-account để thay đổi nonce authority và nonce-account để kiểm tra toàn bộ trạng thái tài khoản. Các giao dịch sử dụng nonce cũng chấp nhận --nonce và --nonce-authority ở những lệnh có hỗ trợ.

Quy trình làm việc với stake

solana-keygen new --outfile stake-account.json
solana create-stake-account stake-account.json 1
solana delegate-stake stake-account.json <VOTE_ACCOUNT_ADDRESS>
solana stake-account stake-account.json
solana deactivate-stake stake-account.json
solana withdraw-stake stake-account.json <RECIPIENT_ADDRESS> ALL

Việc hủy kích hoạt hoàn tất tại ranh giới epoch và có thể mất hơn một epoch. Hãy dùng stakes, validators, stake-history và stake-minimum-delegation để kiểm tra trạng thái cluster và ủy thác trước khi gửi các thay đổi.

Tiện ích địa chỉ

# Derive a PDA from typed seeds.
solana find-program-derived-address \
<PROGRAM_ID> \
string:profile \
pubkey:<OWNER_ADDRESS>
# Create and extend an address lookup table.
solana address-lookup-table create
solana address-lookup-table extend \
<LOOKUP_TABLE_ADDRESS> \
--addresses <ADDRESS_1>,<ADDRESS_2>

Các seed của PDA dùng định dạng PREFIX:VALUE. Các tiền tố được hỗ trợ gồm string, pubkey, hex, u8 và các kiểu mã hóa số nguyên có dấu hoặc không dấu với độ rộng cố định, chẳng hạn u64le.

Thông điệp off-chain và tự động hoàn thành shell

solana sign-offchain-message "terms accepted"
solana verify-offchain-signature \
"terms accepted" \
<SIGNATURE> \
--signer <SIGNER_ADDRESS>
# Print a completion script for the current shell.
solana completion --shell zsh

Danh mục lệnh đầy đủ

Danh mục dưới đây bao gồm mọi lệnh cấp cao nhất trong Agave v4.2.1. Các lệnh như program, config, feature và address-lookup-table chứa các lệnh lồng nhau; hãy chạy <command> --help để liệt kê chúng.

LệnhMô tả
accountHiển thị lamport, chủ sở hữu, dữ liệu và trạng thái thực thi của một tài khoản.
addressIn khóa công khai của signer đã chọn.
address-lookup-tableTạo, mở rộng, đóng băng, hủy kích hoạt, đóng và kiểm tra các bảng tra cứu địa chỉ.
airdropYêu cầu SOL từ faucet của cluster.
alpenglow-genesis-infoĐọc thông tin về chứng chỉ genesis của Alpenglow.
authorize-nonce-accountGán authority cho tài khoản durable nonce.
balanceHiển thị số dư SOL của một tài khoản.
blockLấy một block đã xác nhận theo slot.
block-heightHiển thị block height hiện tại.
block-productionHiển thị việc tạo block của leader trong một phạm vi slot.
block-timeƯớc tính thời điểm tạo một block.
catchupChờ một validator bắt kịp cluster.
close-vote-accountĐóng một tài khoản vote và rút số tiền còn lại.
cluster-dateƯớc tính ngày của cluster dựa trên thời gian genesis và thời gian mạng.
cluster-versionHiển thị phiên bản phần mềm của entrypoint cluster.
completionTạo tập lệnh tự động hoàn thành cho shell.
configXem hoặc đặt các giá trị mặc định của CLI.
confirmKiểm tra trạng thái xác nhận của chữ ký giao dịch.
create-address-with-seedSuy ra một địa chỉ hệ thống từ base, seed và program ID.
create-nonce-accountTạo và khởi tạo một tài khoản durable nonce.
create-stake-accountTạo một tài khoản stake.
create-stake-account-checkedTạo một tài khoản stake đồng thời kiểm tra withdraw authority với tư cách signer.
create-vote-accountTạo một tài khoản vote cho validator.
deactivate-stakeBắt đầu hủy kích hoạt stake đã ủy thác.
decode-transactionGiải mã một giao dịch đã được tuần tự hóa.
delegate-stakeỦy thác một tài khoản stake cho một tài khoản vote.
epochHiển thị số epoch hiện tại.
epoch-infoHiển thị thông tin về epoch, slot, block height và số lượng giao dịch.
featureKiểm tra và quản lý các tài khoản tính năng của runtime.
find-program-derived-addressSuy ra một PDA và bump chuẩn từ các seed có kiểu dữ liệu.
first-available-blockHiển thị block đầy đủ đầu tiên mà node RPC còn lưu giữ.
genesis-hashHiển thị genesis hash của cluster.
gossipLiệt kê các node hiển thị qua gossip.
helpIn trợ giúp gốc hoặc trợ giúp của lệnh.
inflationHiển thị thông tin về inflation governor, tỷ lệ lạm phát hoặc phần thưởng.
largest-accountsLiệt kê các tài khoản lớn nhất của cluster.
leader-scheduleHiển thị lịch trình của leader.
live-slotsPhát trực tiếp tiến trình slot hiện tại.
logsPhát trực tiếp nhật ký giao dịch, có thể lọc theo địa chỉ.
merge-stakeHợp nhất các tài khoản stake tương thích.
new-nonceTiến tới giá trị mới của một durable nonce.
nonceIn giá trị của một durable nonce.
nonce-accountHiển thị đầy đủ trạng thái tài khoản durable nonce.
programTriển khai, nâng cấp, kiểm tra, dump, đặt authority hoặc đóng các chương trình và buffer.
recent-prioritization-feesHiển thị phí ưu tiên gần đây cho các tài khoản có thể ghi.
rentTính mức tối thiểu để được miễn rent cho một kích thước dữ liệu tài khoản.
resolve-signerPhân giải một tham chiếu signer chung, chẳng hạn URL Ledger, thành đường dẫn cụ thể của nó.
sign-offchain-messageKý một thông điệp off-chain UTF-8.
slotHiển thị slot hiện tại.
split-stakeTách lamport từ một tài khoản stake sang tài khoản khác.
stake-accountHiển thị các authority, số dư và trạng thái ủy thác của một tài khoản stake.
stake-authorizeThay đổi stake authority hoặc withdraw authority.
stake-authorize-checkedThay đổi stake authority đồng thời kiểm tra authority mới với tư cách signer.
stake-historyHiển thị lịch sử kích hoạt và hủy kích hoạt stake của cluster.
stake-minimum-delegationHiển thị mức ủy thác stake tối thiểu của cluster.
stake-set-lockupĐặt lockup cho một tài khoản stake.
stake-set-lockup-checkedĐặt lockup đồng thời kiểm tra custodian mới với tư cách signer.
stakesLiệt kê các tài khoản stake, có thể lọc theo validator hoặc authority.
supplyHiển thị nguồn cung SOL đang lưu hành, không lưu hành và tổng cộng.
transaction-countHiển thị số lượng giao dịch của cluster.
transaction-historyLiệt kê các giao dịch liên quan đến một địa chỉ từ mới nhất đến cũ nhất.
transferChuyển SOL giữa các tài khoản hệ thống.
upgrade-nonce-accountNâng cấp một tài khoản nonce cũ theo cách idempotent.
validator-infoCông bố hoặc đọc thông tin của validator.
validatorsHiển thị tóm tắt về stake, hoa hồng, tỷ lệ bỏ qua và phiên bản của validator.
verify-offchain-signatureXác minh một thông điệp off-chain đã ký.
vote-accountHiển thị các authority, hoa hồng, credit và các lượt vote của một tài khoản vote.
vote-authorize-voterThay đổi voter authority của một tài khoản vote.
vote-authorize-voter-checkedThay đổi voter authority đồng thời kiểm tra authority mới với tư cách signer.
vote-authorize-withdrawerThay đổi withdraw authority của một tài khoản vote.
vote-authorize-withdrawer-checkedThay đổi withdraw authority đồng thời kiểm tra authority mới với tư cách signer.
vote-update-commissionThay đổi hoa hồng của một tài khoản vote.
vote-update-validatorThay đổi danh tính validator được gán cho một tài khoản vote.
withdraw-from-nonce-accountRút một phần hoặc toàn bộ SOL từ một tài khoản durable nonce.
withdraw-from-vote-accountRút lamport từ một tài khoản vote.
withdraw-stakeRút SOL không hoạt động từ một tài khoản stake.

Đầu ra cho tập lệnh

Hãy dùng --output json hoặc --output json-compact ở những lệnh có hỗ trợ thay vì phân tích đầu ra dành cho người đọc:

solana epoch-info --output json
solana account <ACCOUNT_ADDRESS> --output json-compact
solana validators --output json > validators.json

Không phải lệnh nào cũng hỗ trợ đầu ra có cấu trúc. Hãy kiểm tra phần trợ giúp của lệnh trước khi phụ thuộc vào nó trong tự động hóa, và coi mã thoát khác không là thất bại.

Is this page helpful?