NEAR CLI
The NEAR Command Line Interface (CLI) is a tool that enables to interact with the NEAR network directly from the shell. Among other things, the NEAR CLI enables you to:
- Login with a NEAR account
- Deploy a contract
- Interact and query information from a deployed contract
Cài đặt
- npm
- Cargo
- Mac and Linux (binaries)
- Windows (binaries)
npm install -g near-cli-rs@latest
$ cargo install near-cli-rs
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/near/near-cli-rs/releases/latest/download/near-cli-rs-installer.sh | sh
irm https://github.com/near/near-cli-rs/releases/latest/download/near-cli-rs-installer.ps1 | iex
Configuration file
The directory with access keys and available connection networks are defined in the configuration file (near-cli/config.toml
), which is located depending on the operating system in the following places:
- macOS:
$HOME/Library/Application Support
(e.g./Users/Alice/Library/Application Support
) - Linux:
$XDG_CONFIG_HOME
or$HOME/.config
(e.g./home/alice/.config
) - Windows:
{FOLDERID*RoamingAppData}
(e.g.C:\Users\Alice\AppData\Roaming
)
You can learn more about working with the configuration file here.
rpc_url
parameter in near-cli
settings:near config edit-connection testnet --key rpc_url --value https://archival-rpc.testnet.near.org/
Interactive mode
To use the near-cli
simply run the following in your terminal.
$ near
You should then see the following. Use the arrow keys and hit enter
or simply type out one of the available options to select an option
near-cli
use the interactive mode described above. :::Account
This option will allow you to manage, control, and retrieve information on your accounts.
Summary
view-account-summary
- view properties for an account.
- Full
- Short
export ACCOUNT_ID=bob.testnet
near account view-account-summary $ACCOUNT_ID network-config testnet now
export ACCOUNT_ID=bob.testnet
near state $ACCOUNT_ID --networkId testnet
Import
import-account
- import existing account (a.k.a. "sign in").
- Full
- Short
near account import-account using-web-wallet network-config testnet
near login --networkId testnet
Export
export-account
- export existing account.
- Full
export ACCOUNT_ID=bob.testnet
near account export-account $ACCOUNT_ID using-web-wallet network-config testnet
Create
create-account
- create a new account.
- Full
- Short
export ACCOUNT_ID=bob.testnet
near account create-account sponsor-by-faucet-service $ACCOUNT_ID autogenerate-new-keypair save-to-keychain network-config testnet create
export ACCOUNT_ID=bob.testnet
near create-account $ACCOUNT_ID --useFaucet --networkId testnet
Delete
delete-account
- delete an account.
- Full
- Short
export ACCOUNT_ID=bob.testnet
export BENEFICIARY_ID=alice.testnet
near account delete-account $ACCOUNT_ID beneficiary $BENEFICIARY_ID network-config testnet sign-with-keychain send
export ACCOUNT_ID=bob.testnet
export BENEFICIARY_ID=alice.testnet
near delete-account $ACCOUNT_ID $BENEFICIARY_ID --networkId testnet
Keys
Showing, adding and removing account keys.
List keys
list-keys
- view a list of keys for an account.
- Full
- Short
export ACCOUNT_ID=bob.testnet
near account list-keys $ACCOUNT_ID network-config testnet now
export ACCOUNT_ID=bob.testnet
near list-keys $ACCOUNT_ID --networkId testnet
Add key
add-key
- add an access key to an account.
- Full
- Short
export ACCOUNT_ID=bob.testnet
near account add-key $ACCOUNT_ID grant-full-access use-manually-provided-public-key ed25519:CXqAs8c8kZz81josLw82RQsnZXk8CAdUo7jAuN7uSht2 network-config testnet sign-with-keychain send
export ACCOUNT_ID=bob.testnet
near add-key $ACCOUNT_ID ed25519:CXqAs8c8kZz81josLw82RQsnZXk8CAdUo7jAuN7uSht2 --networkId testnet
Delete key
delete-keys
- delete an access key from an account.
- Full
- Short
export ACCOUNT_ID=bob.testnet
near account delete-keys $ACCOUNT_ID public-keys ed25519:HdkFZFEPoWfgrrLK3R4t5dWtNoLC8WymBzhCXoP3zrjh network-config testnet sign-with-keychain send
export ACCOUNT_ID=bob.testnet
near delete-key $ACCOUNT_ID ed25519:HdkFZFEPoWfgrrLK3R4t5dWtNoLC8WymBzhCXoP3zrjh --networkId testnet
Tokens
This will allow you to manage your token assets such as NEAR, FTs and NFTs.
Send NEAR
send-near
- transfers NEAR to a specified recipient in units of NEAR or yoctoNEAR.
- Full
- Short
export ACCOUNT_ID=bob.testnet
export RECEIVER_ID=alice.testnet
near tokens $ACCOUNT_ID send-near $RECEIVER_ID '0.5 NEAR' network-config testnet sign-with-keychain send
export ACCOUNT_ID=bob.testnet
export RECEIVER_ID=alice.testnet
near send-near $ACCOUNT_ID $RECEIVER_ID 0.5 --networkId testnet
Send FT
send-ft
- transfer Fungible Tokens to a specified user.
- Full
export ACCOUNT_ID=bob.testnet
export RECEIVER_ID=alice.testnet
export FT_CONTRACT_ID=0c97251cd1f630c444dbusdt.testnet
near tokens $ACCOUNT_ID send-ft $FT_CONTRACT_ID $RECEIVER_ID amount-ft '1 USDT' prepaid-gas '100.0 Tgas' attached-deposit '1 yoctoNEAR' network-config testnet sign-with-keychain send
Send NFT
send-nft
- transfers NFTs between accounts.
- Full
export ACCOUNT_ID=bob.testnet
export RECEIVER_ID=alice.testnet
export NFT_CONTRACT_ID=nft.examples.testnet
near tokens $ACCOUNT_ID send-nft $NFT_CONTRACT_ID $RECEIVER_ID 1 --prepaid-gas '100.0 Tgas' --attached-deposit '1 yoctoNEAR' network-config testnet sign-with-keychain send
View NEAR balance
view-near-balance
- view the balance of NEAR tokens.
- Full
export ACCOUNT_ID=bob.testnet
near tokens $ACCOUNT_ID view-near-balance network-config testnet now
View FT balance
view-ft-balance
- view the balance of Fungible Tokens.
- Full
export ACCOUNT_ID=bob.testnet
export FT_CONTRACT_ID=0c97251cd1f630c444dbusdt.testnet
near tokens $ACCOUNT_ID view-ft-balance $FT_CONTRACT_ID network-config testnet now
View NFT balance
view-nft-assets
- view the balance of NFT tokens.
- Full
export ACCOUNT_ID=bob.testnet
export NFT_CONTRACT_ID=nft.examples.testnet
near tokens $ACCOUNT_ID view-nft-assets $NFT_CONTRACT_ID network-config testnet now
Contract
This option allows you to manage and interact with your smart contracts.
Call
call-function
- execute function (contract method).
- Full
- Short
# View method
export CONTRACT_ID=nft.examples.testnet
near contract call-function as-read-only $CONTRACT_ID nft_tokens json-args '{"from_index": "0", "limit": 2}' network-config testnet now
# Call method
export ACCOUNT_ID=bob.testnet
near contract call-function as-transaction $CONTRACT_ID nft_mint json-args '{"metadata": {"copies": 1, "description": "The Team Goes", "media": "https://bafybeidl4hjbpdr6u6xvlrizwxbrfcyqurzvcnn5xoilmcqbxfbdwrmp5m.ipfs.dweb.link/", "title": "GO TEAM"}, "receiver_id": "bob.testnet", "token_id": "5895"}' prepaid-gas '100.0 Tgas' attached-deposit '0.1 NEAR' sign-as $ACCOUNT_ID network-config testnet sign-with-keychain send
# View method
export CONTRACT_ID=nft.examples.testnet
near view $CONTRACT_ID nft_tokens '{"from_index": "0", "limit": 2}' --networkId testnet
# Call method
export ACCOUNT_ID=bob.testnet
near call $CONTRACT_ID nft_mint '{"metadata": {"copies": 1, "description": "The Team Goes", "media": "https://bafybeidl4hjbpdr6u6xvlrizwxbrfcyqurzvcnn5xoilmcqbxfbdwrmp5m.ipfs.dweb.link/", "title": "GO TEAM"}, "receiver_id": "bob.testnet", "token_id": "5896"}' --deposit 0.1 --useAccount $ACCOUNT_ID --networkId testnet
Deploy
deploy
- add a new contract code.
- Full
- Short
export CONTRACT_ID=contract.testnet
near contract deploy $CONTRACT_ID use-file ../target/near/contract.wasm without-init-call network-config testnet sign-with-keychain send
export CONTRACT_ID=contract.testnet
near deploy $CONTRACT_ID ../target/near/contract.wasm --networkId testnet
Inspect
inspect
- get a list of available function names.
- Full
- Short
export CONTRACT_ID=nft.examples.testnet
near contract view-storage $CONTRACT_ID all as-text network-config testnet now
export CONTRACT_ID=nft.examples.testnet
near storage $CONTRACT_ID --finality final --utf8 --networkId testnet
Transaction
Operate transactions.
View status
view-status
- view a transaction status.
- Full
- Short
near transaction view-status BFrVVtjqD2p1zYX1UCvn4nJpy7zPHpY5cTgQaKCZjBvw network-config testnet
near tx-status BFrVVtjqD2p1zYX1UCvn4nJpy7zPHpY5cTgQaKCZjBvw --networkId testnet
Config
Manage the connection parameters inside the config.toml
file for near-cli
.
This will allow you to change or modify the network connections for your CLI.
Show connections
show-connections
- show a list of network connections.
- Full
near config show-connections
Edit connection
edit-connection
- edit a network connection.
- Full
near config edit-connection testnet --key rpc_url --value https://test.rpc.fastnear.com
near-cli
use the interactive mode. :::