Smart contracts for Void Tactics, an onchain tactical strategy game with NFT ships, configurable fleets, map/lobby flow, and battle outcomes recorded onchain.
This repository contains the Solidity contracts, Hardhat configuration, and Ignition deployment modules used to deploy and wire the game system.
- Active testnet alpha.
- Contracts and deployment workflows are under active iteration.
- Backward compatibility and storage migration guarantees are not yet finalized.
- Solidity
0.8.28 - Hardhat + Ignition
- Viem tooling via
@nomicfoundation/hardhat-toolbox-viem - OpenZeppelin Contracts
npm installCreate a .env file in the repository root:
METAMASK_WALLET_1=0xYOUR_PRIVATE_KEYnpx hardhat compilenpx hardhat testDefault deployment module:
ignition/modules/DeployAndConfig.ts
Deploy and verify on Flow testnet:
npx hardhat ignition deploy ignition/modules/DeployAndConfig.ts --network flow-testnet --verifyRetry helper script for interrupted Ignition deploys:
./scripts/ignition-deploy-retry.sh --network flow-testnet --deploy-script ignition/modules/DeployAndConfig.tscontracts/- core game contracts and token/NFT logicignition/modules/- Hardhat Ignition deployment modulestest/- contract testsscripts/- deployment and maintenance scriptsdocs/- supporting notes and project documentation
- The deployment module handles contract orchestration and post-deploy configuration in one flow.
- Contract sizing is enforced during compile via
hardhat-contract-sizer. - Several testnets are configured in
hardhat.config.tsfor multi-network iteration. - Internal planning notes and TODOs are tracked in
docs/internal-todos.md.
All rights reserved unless otherwise stated.
This repository is shared for evaluation and learning; reuse in production or derivative commercial projects requires explicit permission.