Skip to main contentA-REX Core

Conception du système · AREX-START

Getting started

Node.js 20 or 22 LTS and npm. Clone and install from the lockfile:

Identifiant du document
AREX-START
Version
2.0
Date
2026-09-21
Disponible uniquement en anglais
Ce document est publié en anglais. Les chapitres du livre blanc et les diagrammes sont traduits ; le standard normatif, les guides de conception du système et les enregistrements de décision restent en anglais afin qu'il n'existe qu'un seul texte faisant foi.
FieldValue
Document IDAREX-START
Version2.0
Date2026-09-21

1. Environment

Node.js 20 or 22 LTS and npm. Clone and install from the lockfile:

git clone --recurse-submodules https://github.com/Arex-Corp/arex-contracts.git && cd arex-contracts
npm ci

2. Compile and test

npm run compile
npm test                   # reference implementation, hooks, extensions, invariants
npm run interface-ids      # ERC-165 ids of the standard interfaces

3. Local deployment

npm run node                                                        # terminal 1
npx hardhat run scripts/deploy-standard.js --network localhost      # token + attestations + 2 hooks
npx hardhat run scripts/deploy-full-standard.js --network localhost # all hooks (ordered) + extensions

Both scripts print a JSON manifest with addresses and the registered hook order. Ignition alternative: npx hardhat ignition deploy ignition/modules/ARexToken.js --network localhost.

4. First batch: the walkthrough script

npx hardhat run scripts/smoke-standard.js                      # in-process network, nothing else needed
npx hardhat run scripts/smoke-standard.js --network localhost  # against the node started in step 3

It deploys the stack and runs one lot through creation, transfer, sanction, split, processing, attestation, freeze, forced transfer, retirement and burn, printing the rejection code before each blocked step. Change the numbers and re-run; it is the fastest way to understand the pipeline.

For manual poking, open a console against the node: npx hardhat console --network localhost, then const t = await ethers.getContractAt("ARexToken", "<address printed by the deploy script>").

See the Implementation Guide chapter of the whitepaper (whitepaper/ui/content/11-implementation-guide.md) for createBatch, transfers with transferCheck, transform, attestations and enforcement, with runnable snippets.

5. Read before extending