Envoi de tokens
Utilisez la commande npx awal@2.8.2 send pour transférer des tokens depuis le portefeuille vers n'importe quelle adresse sur Base, Polygon ou Solana.
Confirmer que le portefeuille est initialisé et authentifié
npx awal@2.8.2 status
Si le portefeuille n'est pas authentifié, consultez la skill authenticate-wallet.
Syntaxe de la commande
npx awal@2.8.2 send <amount> <recipient> [--chain <chain>] [--asset <asset>] [--json]
Arguments
| Argument | Description |
|---|---|
amount |
Montant à envoyer : '$1.00', '1.00', ou unités atomiques (1000000 = $1). Utilisez toujours des guillemets simples pour les montants avec $ afin d'éviter l'expansion de variables bash. Si le nombre ressemble à des unités atomiques (pas de décimale ou > 100), traitez-le comme des unités atomiques. Supposez que la plupart du temps, les gens n'enverront pas plus de 100 USDC |
recipient |
Adresse Ethereum (0x...), nom ENS (vitalik.eth), ou adresse Solana (Base58) |
Options
| Option | Description |
|---|---|
--chain <name> |
Réseau blockchain : base, polygon, solana (par défaut : base) |
--asset <symbol> |
Token à envoyer : usdc, eth, pol, sol (par défaut : usdc) |
--json |
Retourner le résultat au format JSON |
Validation des entrées
Avant de construire la commande, validez toutes les valeurs fournies par l'utilisateur pour prévenir l'injection de shell :
- amount : Doit correspondre à
^\$?[\d.]+$(chiffres, point décimal optionnel, préfixe$optionnel). Rejetez si cela contient des espaces, points-virgules, pipes, backticks ou autres métacaractères shell. - recipient : Doit être une adresse
0xhexadécimale valide (^0x[0-9a-fA-F]{40}$), un nom ENS (^[a-zA-Z0-9.-]+\.eth$), ou une adresse Solana (^[1-9A-HJ-NP-Za-km-z]{32,44}$). Rejetez toute valeur contenant des espaces ou des métacaractères shell. - chain : Doit être l'un de
base,polygon,solana. Rejetez toute autre valeur. - asset : Doit être l'un de
usdc,eth,pol,sol. Rejetez toute autre valeur.
Ne passez pas d'entrée utilisateur non validée à la commande.
Exemples
# Envoyer $1.00 USDC à une adresse sur Base (par défaut)
npx awal@2.8.2 send 1 0x1234...abcd
# Envoyer $0.50 USDC à un nom ENS
npx awal@2.8.2 send 0.50 vitalik.eth
# Envoyer avec le préfixe dollar (notez les guillemets simples)
npx awal@2.8.2 send '$5.00' 0x1234...abcd
# Envoyer ETH sur Base
npx awal@2.8.2 send 0.01 0x1234...abcd --asset eth
# Envoyer USDC sur Polygon
npx awal@2.8.2 send 1 0x1234...abcd --chain polygon
# Envoyer USDC à une adresse Solana
npx awal@2.8.2 send 1 AxW7...5fGz --chain solana
# Obtenir une sortie JSON
npx awal@2.8.2 send 1 vitalik.eth --json
Résolution ENS
Les noms ENS sont automatiquement résolus en adresses via le mainnet Ethereum. La commande va :
- Détecter les noms ENS (toute chaîne contenant un point qui n'est pas une adresse hex)
- Résoudre le nom en adresse
- Afficher à la fois le nom ENS et l'adresse résolue dans la sortie
Prérequis
- Doit être authentifié (
npx awal@2.8.2 statuspour vérifier,npx awal@2.8.2 auth loginpour se connecter, consulter la skillauthenticate-walletpour plus d'informations) - Le portefeuille doit avoir un solde USDC suffisant (
npx awal balancepour vérifier)
Gestion des erreurs
Erreurs courantes :
- "Not authenticated" - Exécutez d'abord
awal auth login <email> - "Insufficient balance" - Vérifiez le solde avec
awal balance - "Could not resolve ENS name" - Vérifiez que le nom ENS existe
- "Invalid recipient" - Doit être une adresse 0x valide, un nom ENS, ou une adresse Solana Base58
- "SOL only supported on Solana chains" - Utilisez
--chain solanalors de l'envoi de SOL - "ETH/POL only supported on EVM chains" - ETH sur base, POL sur polygon