1---2name: ethers3description: Ethers.js v6 — Provider/Signer/Contract, units, ABI, contract calls and events, signing, v5→v6 migration.4---56> Skill based on ethers.js v6.16.0, generated at 2026-02-09. Official docs: https://docs.ethers.org/v6/78Ethers.js is a complete, compact library for interacting with Ethereum: dapps, wallets, and scripts. This skill covers Provider/Signer/Contract separation, units and formatting, ABI, contract calls and events, message signing, and v5→v6 migration.910## Core References1112| Topic | Description | Reference |13|-------|-------------|-----------|14| Provider, Signer, Contract | Read/write separation, BrowserProvider, JsonRpcProvider, connecting | [core-provider-signer](references/core-provider-signer.md) |15| Units and Formatting | parseEther, parseUnits, formatEther, formatUnits | [core-units-format](references/core-units-format.md) |16| ABI | Human-readable ABI, Fragment, encoding, event topics/data | [core-abi](references/core-abi.md) |17| Wallet | Wallet, HDNodeWallet, mnemonic, id() for testing | [core-wallet](references/core-wallet.md) |18| Transactions and Receipts | sendTransaction, wait, getBlockNumber, getFeeData, getTransactionCount | [core-transactions](references/core-transactions.md) |19| Data and hex utilities | getBytes, toBeHex, ZeroAddress, ZeroHash, encodeBytes32String, solidityPacked | [core-utils](references/core-utils.md) |20| Address | getAddress, isAddress, isAddressable, checksum | [core-address](references/core-address.md) |21| Hashing | keccak256, id(string), use in selectors and testing | [core-hashing](references/core-hashing.md) |2223## Features2425### Contract and Signing2627| Topic | Description | Reference |28|-------|-------------|-----------|29| Contract | Creation, view/pure, state-changing, staticCall, events, queryFilter | [features-contract](references/features-contract.md) |30| Signing | signMessage, verifyMessage, Signature, EIP-191, EIP-712 | [features-signing](references/features-signing.md) |31| ENS | resolveName, getResolver, getAddress, getText, text records | [features-ens](references/features-ens.md) |32| React Native | react-native-quick-crypto registration for performance | [features-react-native](references/features-react-native.md) |33| Provider options | getDefaultProvider, JsonRpcProvider staticNetwork, broadcastTransaction | [features-providers](references/features-providers.md) |34| Contract deployment | ContractFactory, bytecode, deploy(), waitForDeployment, fromSolidity | [features-contract-deploy](references/features-contract-deploy.md) |35| EIP-712 typed data | signTypedData, verifyTypedData, TypedDataEncoder | [features-eip712](references/features-eip712.md) |3637## Best Practices3839| Topic | Description | Reference |40|-------|-------------|-----------|41| Error handling | Reverted tx, receipt.status, CALL_EXCEPTION, provider errors | [best-practices-errors](references/best-practices-errors.md) |4243## Advanced4445| Topic | Description | Reference |46|-------|-------------|-----------|47| Migrating v5→v6 | BigInt, Provider/Contract/Signature, utils renames | [advanced-migrating-v6](references/advanced-migrating-v6.md) |