Main repository for EVVM contracts. Here, all contract implementations for the Ethereum Virtual Virtual Machine (EVVM) are developed, tested, and promoted. The entire lifecycle (prototyping, validation, promotion, and production) takes place within this same repository.
- Development & Experimentation: New ideas and features are implemented and tested directly here.
- Validation: If a feature passes all local and CI tests, it is considered for promotion.
- Promotion: Validated features are deployed to testnet.
- Production: After testnet validation, features are promoted to mainnet.
- Foundry (for Solidity development and testing)
- Node.js (for package management)
Install dependencies and compile contracts:
make installStart a local Anvil chain:
make anvil
# In another terminal:
make mock # Deploy mock contractsRecompile contracts:
make compileRun all unit tests:
make test
# Or directly with Foundry:
forge testFormat Solidity code:
forge fmtExample script deployment:
forge script script/DeployRegistryEvvm.s.sol --rpc-url <your_rpc_url> --private-key <your_private_key>- Forge: Ethereum testing framework
- Cast: Utility for interacting with contracts and chain data
- Anvil: Local EVM-compatible node
- Chisel: Solidity REPL
See the official Foundry documentation: https://book.getfoundry.sh/
src/— Main contractstest/— Unit and integration testslib/— External libraries (OpenZeppelin, forge-std, etc.)script/— Deployment and utility scripts
- Fork the repository
- Create a feature branch and make your changes
- Add tests for new features
- Submit a PR with a detailed description
Security Note: Never commit real private keys. Use test credentials only.