Note
This is the Anchor v1 copy of this example, on Anchor 1.2.0, the current
stable Anchor release. Every anchor command on this page needs the v1 CLI:
avm install 1.2.0 && avm use 1.2.0. The Anchor v2 version of this example is in
../anchor.
Transfer tokens between token accounts via CPI to the token program.
See also: Transfer Tokens overview and the repository catalog.
- Associated token accounts
transfer_checked, which carries the mint and decimals through the CPIanchor_spl::token_interfacetypes, so the same program works against both the Classic Token Program and the Token Extensions Program- Amounts:
mint_tokenandtransfer_tokenstakeamountin minor units, the raw integer the token program operates on. Clients convert from major units offchain: 1 token with 9 decimals is1 * 10^9minor units. The program never scales amounts onchain.
From this directory (tokens/transfer-tokens/anchor/):
anchor buildPrerequisites: Agave CLI (version in Anchor.toml [toolchain]), Anchor.
Tests run in-process with LiteSVM. No local validator.
anchor testThis runs cargo test as configured in Anchor.toml. Tests call instruction handlers and check onchain state.
Read the program programs/ source and Anchor.toml for deployed program IDs. For deployment, use anchor build && anchor deploy against your target cluster.