Contract Query Skill
Query NEAR smart contracts using near-cli-rs.
Usage
bash
/contract-query [contract] [method] [args]
Examples:
bash
# Total supply
/contract-query legion nft_total_supply
# Initiate supply
/contract-query initiate nft_total_supply
# Specific token
/contract-query legion nft_token '{"token_id":"1"}'
# Tokens for owner
/contract-query legion nft_tokens_for_owner '{"account_id":"user.near"}'
Implementation
When invoked:
- •
Parse arguments:
- •
contract: "legion" | "initiate" | full contract ID (default: "legion") - •
method: Contract method name (required) - •
args: JSON string (default: "{}")
- •
- •
Map shortcuts to contract IDs:
- •"legion" → "nearlegion.nfts.tg"
- •"initiate" → "initiate.nearlegion.near"
- •
Build near-cli-rs command:
bashnear contract call-function as-read-only \ {contract_id} {method} \ json-args '{args}' \ network-config mainnet \ now - •
Execute and format output:
- •Run the bash command using the Bash tool
- •Display result with contract, method, and timing
- •Format JSON output for readability
Example Output
code
✓ Contract Query: nearlegion.nfts.tg Method: nft_total_supply Network: mainnet Result: "1234" Time: 234ms
Common Queries Reference
| Query | Command |
|---|---|
| Legion total supply | /contract-query legion nft_total_supply |
| Initiate total supply | /contract-query initiate nft_total_supply |
| Check ownership | /contract-query legion nft_tokens_for_owner '{"account_id":"user.near"}' |
| Token metadata | /contract-query legion nft_token '{"token_id":"1"}' |
Installation Check
If near command not found, provide install instructions:
bash
# macOS/Linux curl --proto '=https' --tlsv1.2 -LsSf https://github.com/near/near-cli-rs/releases/latest/download/near-cli-rs-installer.sh | sh # Or via cargo cargo install near-cli-rs