Este repositório é um guia simples para criar e rodar um sandbox do DREX localmente, usando Hardhat 3 e Ethers v6.
- Node.js 22+ (LTS)
- npm
node -v
npm -vClone o repositório e instale as dependências:
git clone https://github.com/rmelfi/drex-sandbox.git
cd drex-sandbox
npm installnpm run compileOs artifacts serão gerados em artifacts/.
Abra um terminal e rode:
npm run nodeIsso inicia a blockchain local em http://127.0.0.1:8545 com contas de teste pré-carregadas.
Em outro terminal:
npm run deployO script scripts/deploy.ts vai:
- Conectar ao nó local
- Obter três contas (
deployer,authority,admin) - Deployar o contrato
RealDigital.sol - Deployar o contrato
STR.sol - Mostrar os endereços no console
Há scripts de demonstração, como:
npx hardhat run --network localhost scripts/demo-buy-car.ts
npx hardhat run --network localhost scripts/demo-split.tsEles simulam:
- Habilitação de contas (
enableAccount) - Emissão (
requestToMint) - Transferência entre participantes
- Queima (
requestToBurn)
- Hardhat: framework para compilar, testar e rodar scripts de contratos Ethereum.
- Ethers v6: biblioteca para deploy e interação com contratos.
- RealDigital.sol: token ERC20 com 2 casas decimais.
- CBDCAccessControl.sol: define papéis como
MINTER_ROLE,BURNER_ROLE,PAUSER_ROLE, etc. - STR.sol: contrato que chama
minteburnno RealDigital para participantes autorizados.
Sempre use ethers.parseUnits(valor, 2) para lidar com valores (por exemplo, 100.50 → 10050).
- Este projeto é somente para testes locais.
- As chaves privadas exibidas pelo Hardhat são de desenvolvimento e não devem ser usadas em produção.
Gravei um passo a passo mostrando como usar este repositório do zero ao deploy:
📽️ Link do vídeo: Video