Những nhà phát triển DeFi tương tác với các blockchain thông qua giao diện dòng lệnh hơn bất kỳ giao diện nào khác. Dù bạn đang truy vấn các nguồn dự trữ, xây dựng giao dịch, triển khai hợp đồng hoặc tự động hóa chiến lược lợi nhuận, CLI chính là nơi các ứng dụng DeFi được thực hiện. Tham khảo này bao gồm các lệnh cơ bản trên tất cả các hệ sinh thái DeFi chính: từ Foundry của Ethereum đến cardano-cli của Cardano, Anchor của Solana, bitcoin-cli của Bitcoin và chuỗi công cụ IBC của Cosmos.
Khóa từ chính: defi cli commands (CMD của DeFi) Đối tượng mục tiêu: Các nhà phát triển DeFi, kỹ sư blockchain, DevOps tự động hóa các quy trình của DeFi Khoản mục: Hướng dẫn sử dụng CLI xuyên chuỗi với các ví dụ thực tế và bối cảnh đặc thù của Việt Nam
Kiến thức cơ bản về dòng lệnh DeFi
Tại sao cần CLI cho DeFi?
Các giao diện đồ họa (dApps, bảng điều khiển) là tốt cho việc khám phá. Nhưng DeFi sản xuất – tạo thị trường tự động, robot thanh lý, arbitrage giữa các chuỗi, quản lý bảo mật tổ chức – hoạt động trên các mã lệnh. CLI cung cấp:
- Scriptability: Chuyển ra đầu ra cho
jq, đưa vào CI/CD, lập lịch thông qua cron
Kiến trúc CLI ba cấp
DeFi CLI tự nhiên được tổ chức thành ba cấp, phản ánh mô hình DevOps truyền thống:
| Tiêu chuẩn | Mục đích | Các ví dụ | So sánh |
|---|---|---|---|
| **Tier 1: Node/Đường | Tương tác trực tiếp giữa nút/RPC | bitcoin-cli, cardano-cli, solana, geth | kubectl |
| **Nível 2: Khung | Trải nghiệm của nhà phát triển, trừu tượng | forge, hardhat, anchor | Helm |
| Nível 3: Ứng dụng | Các hoạt động đặc trưng của DeFi | 1inch, defillama, coingecko CLI | ArgoCD |
Bối cảnh Việt Nam: Nhiều nhà phát triển Việt Nam sử dụng Termux (Android) để làm việc theo cách "mobile-first". Các công cụ cấp 1 được biên dịch thành các tệp bin statis – hoàn hảo cho Termux. Cấp 2/3 thường cần các hệ thống công cụ Node.js/Rust; GitHub Codespaces là cầu nối cho khoảng cách này.
Các công cụ CLI của hệ sinh thái EVM
Nhà đúc (đúc, hàn, búa) — Tiêu chuẩn hiện đại
Kênh công cụ dựa trên Rust của Foundry đã trở thành mặc định cho việc phát triển EVM nghiêm túc. Nó nhanh, song song và có thể được lập trình.
cast — Bút chì Swiss Army
`bash
curl -L https://foundry.paradigm.xyz | bash foundryup
cast block-number --rpc-url https://eth.llamarpc.com cast balance 0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045 --rpc-url $RPC_URL cast call 0xA0b86a33E6441E6C7D3E4c5b5F6e5E7D5c5D5D5D "balanceOf(address)" 0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045 --rpc-url $RPC_URL
cast send 0xA0b86a33E6441E6C7D3E4c5b5F6e5E7D5c5D5D5D "transfer(address,uint256)" 0xRecipient 1000000 --rpc-url $RPC_URL --private-key $PK
cast estimate 0xContract "function(args)" --rpc-url $RPC_URL
cast calldata "transfer(address,uint256)" 0xRecipient 1000000 cast 4byte "transfer(address,uint256)" cast abi-encode "f(uint256,address)" 123 0xabc... `
Tips chuyên nghiệp: cast sẽ xuất ra JSON theo mặc định với --json - điều cần thiết cho lập trình.
forge — Kiểm tra và triển khai
`bash
forge init my-defi-project cd my-defi-project
forge test forge test --match-contract CounterTest --match-test testIncrement forge test --fork-url $MAINNET_RPC --fork-block-number 19000000
forge script script/Deploy.s.sol --rpc-url $RPC_URL --private-key $PK --broadcast forge script script/Deploy.s.sol --rpc-url $RPC_URL --private-key $PK --broadcast --verify --etherscan-api-key $ETHERSCAN_KEY
forge snapshot forge snapshot --diff `
anvil — Testnet địa phương
`bash
anvil --fork-url $MAINNET_RPC --fork-block-number 19000000 --port 8545
anvil --accounts 10 --balance 10000 --port 8545
anvil --fork-url $RPC_URL --impersonate 0xWhaleAddress `
Hardhat — Di sản doanh nghiệp
Còn được sử dụng rộng rãi trong doanh nghiệp vì hệ sinh thái plugin đã được hoàn thiện và thiết kế dựa trên TypeScript.
`bash
npm init -y npm install --save-dev hardhat @nomicfoundation/hardhat-toolbox npx hardhat init
npx hardhat compile npx hardhat test npx hardhat node npx hardhat run scripts/deploy.ts --network mainnet npx hardhat verify --network mainnet 0xContractAddress "constructor args"
npx hardhat test --gas-reporter REPORT_GAS=true npx hardhat test `
1inch CLI – Hợp nhất DeFi
`bash
npm install -g @1inch/cli
1inch swap --from-token 0xA0b86a33E6441E6C7D3E4c5b5F6e5E7D5c5D5D5D --to-token 0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2 --amount 1000000 --wallet 0xYourWallet --chain 1
1inch limit-order create --from-token 0xTokenA --to-token 0xTokenB --amount 1000000 --price 2000
1inch swap --estimate-gas --from-token 0xTokenA --to-token 0xTokenB --amount 1000000 `
Tham khảo Cardano CLI
cardano-cli của Cardano là chi tiết, rõ ràng và an toàn về kiểu – được thiết kế để ngăn chặn các lỗi trên mainnet. Thời kỳ Conway (v8+) đã thêm các lệnh quản trị.
Cài đặt
`bash
nix run github:input-output-hk/cardano-node
wget https://github.com/IntersectMBO/cardano-node/releases/download/8.0.0/cardano-cli-8.0.0-linux.tar.gz tar -xzf cardano-cli-8.0.0-linux.tar.gz sudo mv cardano-cli /usr/local/bin/ `
Quản lý khóa
`bash
cardano-cli latest address key-gen --verification-key-file payment.vkey --signing-key-file payment.skey
cardano-cli latest stake-address key-gen --verification-key-file stake.vkey --signing-key-file stake.skey
cardano-cli latest address build --payment-verification-key-file payment.vkey --stake-verification-key-file stake.vkey --out-file address.addr --mainnet
cardano-cli latest address key-gen --hw-signing-file hw-payment.skey --verification-key-file payment.vkey `
Câu lệnh truy vấn
`bash
cardano-cli latest query tip --mainnet
cardano-cli latest query utxo --address $(cat address.addr) --mainnet
cardano-cli latest query protocol-parameters --mainnet --out-file pparams.json
cardano-cli latest query stake-pools --mainnet cardano-cli latest query stake-snapshot --stake-pool-id pool1xxxx --mainnet `
Cơ sở dữ liệu giao dịch (lộ trình làm việc chính)
`bash
cardano-cli latest transaction build \ --tx-in $(cardano-cli latest query utxo --address $(cat address.addr) --mainnet --out-file utxos.json | jq -r 'keys[0]') \ --tx-out "addr1recipient+10000000" \ --change-address $(cat address.addr) \ --mainnet \ --out-file tx.draft
cardano-cli latest transaction sign \ --tx-body-file tx.draft \ --signing-key-file payment.skey \ --mainnet \ --out-file tx.signed
cardano-cli latest transaction submit --tx-file tx.signed --mainnet `
Tác động của Plutus Script
`bash
cardano-cli latest transaction build \ --tx-in $SCRIPT_UTXO \ --tx-out-reference-script-file plutus-script.plutus \ --change-address $(cat address.addr) \ --mainnet \ --out-file ref-script.draft
cardano-cli latest transaction build \ --tx-in $SCRIPT_UTXO \ --tx-in-script-file plutus-script.plutus \ --tx-in-datum-file datum.json \ --tx-in-redeemer-file redeemer.json \ --tx-in-collateral $COLLATERAL_UTXO \ --mainnet \ --out-file execute.draft `
Quản trị (Thời kỳ Conway)
`bash
cardano-cli latest governance drep registration-certificate \ --drep-verification-key-file drep.vkey \ --key-reg-deposit-amt 1000000000 \ --out-file drep-reg.cert
cardano-cli latest governance stake-delegation \ --stake-verification-key-file stake.vkey \ --drep-verification-key-file drep.vkey \ --out-file drep-deleg.cert
cardano-cli latest governance vote create \ --drep-verification-key-file drep.vkey \ --governance-action-id 0#1 \ --vote yes \ --out-file vote.json `
Ogmios & Kupo — lớp truy vấn nhẹ
`bash
ogmios --host 0.0.0.0 --port 1337 --node-config mainnet-config.json
kupo --host 0.0.0.0 --port 1442 --node-socket /path/node.socket --db-path /data/kupo.db
curl "http://localhost:1442/matches/addr1xxxx?unspent=true" `
Các công cụ CLI của Solana
solana CLI — Các hoạt động chính
`bash
sh -c "$(curl -sSfL https://release.solana.com/v1.18.0/install)"
solana config set --url https://api.mainnet-beta.solana.com solana config set --keypair ~/.config/solana/id.json
solana balance solana account
spl-token create-token --decimals 9 spl-token create-account
solana program deploy
solana stake-account create `
Anchor CLI — Tái hiện khái niệm của hệ thống
`bash
cargo install --git https://github.com/coral-xyz/anchor anchor-cli --locked
anchor init my-program cd my-program
anchor build anchor test
anchor deploy --provider.cluster mainnet --provider.wallet ~/.config/solana/id.json
anchor idl init --filepath target/idl/my_program.json
anchor run generate-typescript `
Bitcoin & Lightning CLI
bitcoin-cli — Core Node RPC
`bash
bitcoin-cli getblockchaininfo bitcoin-cli getblockcount bitcoin-cli getblock
bitcoin-cli createwallet "defi-wallet" bitcoin-cli -rpcwallet=defi-wallet getnewaddress bitcoin-cli -rpcwallet=defi-wallet listunspent
bitcoin-cli -rpcwallet=defi-wallet createrawtransaction '[{"txid":"...","vout":0}]' '[{"address":0.01}]' bitcoin-cli -rpcwallet=defi-wallet signrawtransactionwithwallet
bitcoin-cli -rpcwallet=defi-wallet walletcreatefundedpsbt '[]' '[{"address":0.01}]' bitcoin-cli walletprocesspsbt `
lncli — Mạng Lightning (LND)
`bash
lncli getinfo lncli listchannels lncli listpeers
lncli addinvoice --amt 100000 --memo "DeFi yield payment" lncli payinvoice --pay_req lnbc100000...
lncli openchannel --node_key
lncli queryroutes --dest `
Cosmos/IBC CLI
gaiad — Cosmos Hub CLI
`bash
go install github.com/cosmos/gaia/v16@latest
gaiad config chain-id cosmoshub-4 gaiad config node https://cosmos-rpc.polkachu.com:443
gaiad keys add mykey --keyring-backend os gaiad keys list
gaiad query bank balances $(gaiad keys show mykey -a) gaiad query staking delegations $(gaiad keys show mykey -a) gaiad query gov proposals
gaiad tx bank send mykey cosmos1recipient 1000000uatom --chain-id cosmoshub-4 --gas auto --fees 5000uatom gaiad tx staking delegate mykey cosmos1validator 1000000uatom --chain-id cosmoshub-4 gaiad tx gov vote 1 yes --from mykey --chain-id cosmoshub-4 `
hermes — IBC Relayer
`bash
cargo install --git https://github.com/informalsystems/ibc-relayer-cli hermes --locked
hermes create channel cosmoshub osmosis --port-a transfer --port-b transfer hermes start cosmoshub osmosis
hermes query packet commitments cosmoshub channel-0 1000 hermes query packet receipts cosmoshub channel-0 1000 `
Các công cụ CLI dành riêng cho DeFi
DeFiLlama CLI - phân tích
`bash
npm install -g @defillama/cli
defillama protocol uniswap defillama protocol aave --chain ethereum
defillama chain ethereum defillama chains
defillama pools --chain ethereum --protocol uniswap defillama yields --stablecoin `
Coingecko CLI — Dữ liệu thị trường
`bash
npm install -g coingecko-cli
coingecko price bitcoin ethereum cardano solana --vs-currency usd coingecko price --ids "vndc,vndt" --vs-currencies vnd
coingecko trending coingecko search "defi" `
Adapter DefiLlama (cấu hình riêng)
`bash
cat > vietnam-defi-adapter.js << 'EOF' module.exports = { vndc: { chain: 'bsc', tvl: async () => { / fetch from VNDC API / } }, vndt: { chain: 'tron', tvl: async () => { / fetch from VNDT API / } }, }; EOF `
Các mẫu quy trình làm việc giữa các chuỗi
Mẫu 1: EVM → Cardano Bridge (qua Wanchain/Multichain)
`bash
cast send 0xBridgeContract "deposit(address,uint256,bytes)" 0xToken 1000000 "0xCardanoAddress" --rpc-url $ETH_RPC --private-key $PK
cast logs --address 0xBridgeContract --from-block latest --to-block latest "Deposited(address,uint256,bytes)" --rpc-url $ETH_RPC
cardano-cli latest transaction build \ --tx-in $BRIDGE_UTXO \ --tx-in-script-file bridge-validator.plutus \ --tx-in-datum-file deposit-datum.json \ --tx-in-redeemer-file claim-redeemer.json \ --mainnet --out-file claim.draft `
Mẫu 2: Solana ↔ EVM (Wormhole)
`bash
solana program execute wormhole_bridge_program "post_message" --data
cast send 0xWormholeCore "verifyAndExecute(bytes,bytes[])" `
Mẫu 3: Bitcoin → DeFi (qua Babylon/Lorenzo)
`bash
bitcoin-cli -rpcwallet=btc walletcreatefundedpsbt '[]' '[{"babylon_staking_address": 100000000}]' bitcoin-cli walletprocesspsbt
lorenzo-cli stake --btc-txid
defillama yields --protocol babylon --chain bitcoin `
Bối cảnh nhà phát triển Việt Nam
Termux - Chế độ làm việc đầu tiên
`bash
pkg install git nodejs-lts rust openssl libffi clang curl -L https://foundry.paradigm.xyz | bash foundryup
wget https://github.com/IntersectMBO/cardano-node/releases/download/8.0.0/cardano-cli-8.0.0-aarch64-linux.tar.gz tar -xzf cardano-cli-8.0.0-aarch64-linux.tar.gz mv cardano-cli ~/bin/
sh -c "$(curl -sSfL https://release.solana.com/v1.18.0/install)" export PATH="$HOME/.local/share/solana/install/active_release/bin:$PATH" `
Hoạt động của Stablecoin VNDC/VNDT
`bash
cast call 0xVNDC_Contract "balanceOf(address)" 0xYourAddress --rpc-url https://bsc-dataseed.binance.org/
tronweb contract call VNDT_Contract balanceOf 0xYourAddress
1inch swap --from-token 0xVNDC_BSC --to-token 0xVNDT_TRON --amount 1000000000 --chain 56 --dest-chain 195 `
Viết kịch bản theo phương thức Mobile-First
`bash
termux-notification --title "DeFi Bot" --content "Swap executed: 1000 USDC → 0.98 ETH"
sv-enable crond echo "0 /6 $HOME/scripts/yield-harvest.sh" >> /data/data/com.termux/files/usr/var/spool/cron/crontabs/$(whoami) `
Các bảng tham khảo nhanh
So sánh các công cụ EVM
| Hoạt động | đúc (xưởng đúc) | đúc (Foundry) | mũ bảo hiểm | 1inch CLI |
|---|---|---|---|---|
| Cài đặt | foundryup | foundryup | npm i -D hardhat | npm i -g @1inch/cli |
| Xem số dư | tài khoản cân bằng | N/A | npx hardhat console | N/A |
| Hợp đồng gọi | gọi diễn viên | chương trình lập trình | npx hardhat call | N/A |
| Gửi tx | cast send | forge script --broadcast | npx hardhat run | 1inch swap |
| Thiết lập | N/A | forge create | npx hardhat run deploy | N/A |
| Thử nghiệm | N/A | test forge | npx hardhat test | N/A |
| Local node | `búa' | `búa' | npx hardhat node | N/A |
| Truy xuất JSON | --json | --json | Bằng cách sử dụng plugin | Ngôn ngữ bản địa |
Non-EVM Tools Comparison
| Hoạt động | cardano-cli | solana CLI | bitcoin-cli | gaiad (Cosmos) |
|---|---|---|---|---|
| Cài đặt | Binary/Nix | solana-install | Bitcoin Core | go install |
| Chìa khóa | --key-gen (payment+stake) | solana-keygen | bitcoin-cli createwallet | gaiad keys add |
| Xem số dư | query utxo | tài khoản solana | listunspent | tìm kiếm số dư ngân hàng |
| Tạo giao dịch | tạo giao dịch | chuyển khoản solana | createrawtransaction | tx bank send |
| Tiến hành ký giao dịch | ký hiệu giao dịch | Tự động (cặp khóa) | signrawtransactionwithwallet | Tự động (chìa khóa) |
| Gửi giao dịch | Gửi giao dịch | Tự động | sendrawtransaction | tx broadcast |
| Đặt cọc | stake-address delegation | solana delegate-stake | N/A (LN: lncli) | tx staking delegate |
| Quản trị | "phiếu bầu về quản trị" | đánh giá solana | N/A | tx gov vote |
| Truy xuất JSON | Limited (jq needed) | --output json (bình thường) | Ngôn ngữ bản địa | --output json |
So sánh các công cụ dành riêng cho DeFi
| Công cụ | Mục đích | Dây đai | Auth | Xuất ra |
|---|---|---|---|---|
| 1inch CLI | Swap aggregation | EVM (1, 56, 137, 42161, 10, 8453...) | Tài khoản PK / kho lưu trữ khóa | JSON |
| DeFiLlama CLI | Analytics về TVL/hiệu suất | Tất cả các yếu tố chính | Không có (API công cộng) | JSON |
| Coingecko CLI | Price/market data | Tất cả | Chìa khóa API (có thể bỏ qua) | JSON |
| Adapter tùy chỉnh | Các giao thức địa phương | Vietnam (VNDC, VNDT) | Chìa khóa API | JSON |
Cây quyết định xuyên chuỗi
Quick decision guide:
- Đây là chuỗi nào?
- Ethereum/EVM → Foundry (cast/forge) + 1inch CLI
- Cardano → cardano-cli + Ogmios/Kupo
- Solana → Anchor CLI (được ưu tiên) / solana CLI
- Bitcoin → bitcoin-cli + lncli (Lightning)
- Cosmos/IBC → gaiad + hermes
- Làm gì?
- Tìm kiếm/đọc → Tier 1 (cast, cardano-cli query, solana account)
- Tạo/kiểm tra/chia sẻ hợp đồng → Tier 2 (forge, anchor, hardhat)
- Các hành động DeFi (giao dịch, LP, stake) → Tier 3 (1inch, defillama) + tùy thuộc vào chuỗi
- Môi trường?
- Phát triển địa phương → anvil / cardano-cli testnet / solana-test-validator
- CI/CD → Foundry (ngay lập, các tệp bin statis)
- Điện thoại (Termux) → Chỉ các tệp bin statis (cardano-cli, solana, bitcoin-cli)
- Máy chủ sản xuất → Tất cả các cấp, ưu tiên kết quả dạng JSON để theo dõi
Hỏi đáp
Câu hỏi: CLI nào tôi nên học trước?
A: Bắt đầu với Foundry (đúc/đúc) nếu làm việc trên EVM - đây là tiêu chuẩn hiện đại, nhanh nhất và có thể chuyển giao kỹ năng cho các hệ thống công cụ dựa trên Rust khác (Solana Anchor, Cosmos). Đối với Cardano, cardano-cli là bắt buộc; chưa có bất kỳ khung lập trình nào mô tả nó một cách tốt.
Câu hỏi: Làm thế nào để xử lý các khóa riêng tư một cách an toàn trong các mã lệnh CLI?
A: Không bao giờ sử dụng mã khóa cố định. Hãy sử dụng:
Q: Tôi có thể sử dụng một CLI cho tất cả các chuỗi không?
A: Chưa có "kubectl dành cho DeFi" nào chung. CLI của 1inch hỗ trợ các giao dịch EVM. CLI của DeFiLlama hỗ trợ phân tích trên các chuỗi. Để xây dựng giao dịch, bạn cần các công cụ cấp 1 đặc thù cho từng chuỗi. Kẽ hở này là một cơ hội mở.
Câu hỏi: Làm thế nào để tạo script Cardano CLI mà không có kết quả xuất JSON?
A: Sử dụng jq để phân tích kết quả văn bản, hoặc sử dụng Ogmios/Kupo cho các API JSON chính xác: `bash
UTXOS=$(curl -s "http://localhost:1442/matches/$(cat address.addr)?unspent=true") TX_IN=$(echo $UTXOS | jq -r '.[0].tx_hash + "#" + (.[0].tx_index | tostring)') `
Câu hỏi: DeFi stack đặc biệt dành cho Việt Nam là gì?
A:
- Mobile dev: Termux + Foundry + cardano-cli (binaries tĩnh)
- Stablecoins: VNDC (BSC), VNDT (TRON) — cần wrapper CLI tùy chỉnh
- Payments: Momo/ZaloPay QR qua Termux:API
- Exchanges: Coin98, BSCStation SDKs cho việc tích hợp CLI
- Community: Vietnam Blockchain Developers Discord — các script chia sẻ, mẹo sử dụng Termux
Câu hỏi: Làm thế nào để theo dõi kết quả của lệnh CLI trong môi trường sản xuất?
A:
- Mã lệnh thoát: Tất cả các CLI chính trả về 0 khi thành công, không bằng 0 khi thất bại
- Xuất dữ liệu JSON: Giải mã
cast --json,1inch --json,defillama --json - Tối ưu hóa tập tin log: Gửi stdout/stderr đến Loki/Datadog
Kết luận
Các công cụ DeFi CLI đã phát triển thành các hệ sinh thái riêng biệt, thân thiện với chuỗi. Mô hình ba tầng (Node → Framework → Application) cung cấp bản đồ tư duy để lựa chọn công cụ phù hợp. Foundry thống trị EVM; cardano-cli là không thể tránh khỏi đối với Cardano; Anchor tách biệt các phức tạp của Solana; Bitcoin cần cả bitcoin-cli và lncli; Cosmos sử dụng gaiad + hermes.
Đối với các nhà phát triển Việt Nam: khả năng tương thích của Termux làm cho các phiên bản bin có cấu trúc cố định (cardano-cli, solana, bitcoin-cli, Foundry) là lựa chọn thực tế. Các hoạt động stablecoin địa phương (VNDC / VNDT) cần các lớp bao phủ CLI tùy chỉnh – một cơ hội đóng góp mở.
Tương lai hướng đến các lớp trừu tượng CLI DeFi thống nhất (như defi-cli giả định) điều hướng các lệnh đến các nền tảng backend riêng biệt. Cho đến khi đó, tài liệu tham khảo này là bản đồ lệnh xuyên chuỗi của bạn.
Cập nhật lần cuối: 2026-09-04 | Các phiên bản tham khảo: Foundry nightly, Hardhat 2.22, Cardano CLI 8.x, Solana 1.18, Bitcoin Core 27, Cosmos SDK 0.50
