Skip to main contentA-REX Core

Projeto do sistema · AREX-START

Getting started

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

ID do documento
AREX-START
Versão
2.0
Data
2026-09-21
Disponível somente em inglês
Este documento é publicado em inglês. Os capítulos do whitepaper e os diagramas estão traduzidos; o padrão normativo, os guias de projeto do sistema e os registros de decisão permanecem em inglês para que exista um único texto de referência.
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