--- name: avax-tools description: Choose Avalanche development tools and compiler settings without assuming Ethereum fork parity. --- # Tools & EVM compatibility Source review: 2026-09-06. Recheck network-dependent facts before use. 1. Inspect the repository's existing toolchain and package controls. Preserve its framework and lockfile where practical. For new tooling use official release documentation and the environment's approved package path; record exact versions. 2. For EVM contracts use a compatible Foundry or existing project toolchain. The reviewed Avalanche Foundry quickstart specifies `evm_version = "cancun"`; recheck it against the actual target VM before compiling. A newer Solidity default can emit unsupported instructions even when source code looks ordinary. 3. Use the Avalanche SDK when the task needs Avalanche-specific P/X-chain or network operations; ordinary C-Chain EVM reads and contract calls can use an EVM client such as viem. Verify the installed SDK API instead of transplanting imports from older AvalancheJS examples. 4. Discover authoritative material through Builder Hub's `/llms.txt`, individual Markdown pages or documentation MCP. Fetch only relevant pages. Documentation MCP access is not a wallet, signing permission or blockchain execution service. 5. Compile and run a target-network-compatible test with the selected versions. Save compiler settings, chain ID and dependency versions together. Consult [Upgrades](../upgrades/SKILL.md) when a tutorial or library assumes a particular EIP. **Evidence to return:** versioned toolchain, verified compiler target, successful build/test output and any unsupported features. ## Primary sources - [Avalanche Foundry quickstart](https://build.avax.network/academy/blockchain/solidity-foundry/03-smart-contracts/03-foundry-quickstart) - [Avalanche SDK client](https://build.avax.network/docs/tooling/avalanche-sdk/client/getting-started) - [Official AI documentation access](https://build.avax.network/docs/tooling/ai-llm) ## Reproduce this executable bundle From the directory containing package.json/examples/scripts, run `npm ci` through the environment's permitted package workflow, then `python3 scripts/setup_native_tools.py` and `python3 scripts/setup_native_tools.py --check`. Native setup supports Linuxx86_64 and validates official artifact AND extracted-binary SHA256 values from config/native-tools.json. Pins: Foundry1.7.1, solc0.8.30, Noir1.0.0-beta.22, bb5.0.0-nightly.20260522, ethers6.16.0 and Playwright1.58.2. These are reproducibility choices, not latest-version claims. The lockfile overrides an older transitive WebSocket dependency with ws8.21.3; the guarded install accepted this resolution. Run `node examples/core/verify.mjs` for contract/browser/indexing integration, and `node examples/privacy/verify.mjs` for real proof/generated verifier execution. From examples/core, `../../.tooling/foundry/forge test` runs contract tests. Keep exact compiler EVM target and native binary provenance with results. If a package-age/security guard blocks installation, report and resolve the specific dependency through the guarded workflow; do not switch to an unguarded installer. Downloaded tools/caches and actual witness files do not belong in distributable source. A generic Anvil hardfork setting does not prove Avalanche feature activation.