README

Optimize BlockSecOps for your development framework. BlockSecOps supports major smart contract development frameworks: | Framework | Language | Status |...

Last updated: January 14, 2026

Framework Guides

Optimize BlockSecOps for your development framework.

Supported Frameworks

BlockSecOps supports major smart contract development frameworks:

Framework Language Status
Foundry Solidity Full Support
Hardhat Solidity Full Support
Brownie Solidity/Vyper Full Support
Ape Vyper/Solidity Full Support
Anchor Rust/Solana Full Support
Truffle Solidity Legacy Support

Framework Detection

BlockSecOps automatically detects your framework from config files:

File Framework
foundry.toml Foundry
hardhat.config.js/ts Hardhat
brownie-config.yaml Brownie
ape-config.yaml Ape
Anchor.toml Anchor
truffle-config.js Truffle

Why Framework Matters

Framework detection enables:

Automatic Import Resolution

import "@openzeppelin/contracts/token/ERC20/ERC20.sol";

BlockSecOps knows where to find this based on your framework:

  • Foundry: lib/openzeppelin-contracts/
  • Hardhat: node_modules/@openzeppelin/contracts/

Correct Compilation

Different frameworks have different:

  • Compiler configurations
  • Optimizer settings
  • Version pragmas

Test File Exclusion

Framework-specific test patterns:

  • Foundry: *.t.sol, test/
  • Hardhat: test/, *.test.js

Framework Comparison

Feature Foundry Hardhat
Language Rust CLI Node.js
Tests Solidity JavaScript/TypeScript
Speed Very Fast Fast
Dependencies Git submodules npm packages
Import Style Remappings Node resolution

Upload Requirements

Foundry Projects

Upload:

├── src/           # Contract sources
├── lib/           # Dependencies
├── foundry.toml   # Configuration
└── remappings.txt # Import mappings

Hardhat Projects

Upload:

├── contracts/     # Contract sources
├── node_modules/  # Dependencies
└── hardhat.config.js

Mixed Framework

If using both, include all configs:

├── contracts/
├── src/
├── lib/
├── node_modules/
├── foundry.toml
└── hardhat.config.js

Common Issues

Import Resolution

See Import Resolution for:

  • Configuring remappings
  • Missing dependencies
  • Cross-framework imports

Compilation Errors

Most scan failures are compilation issues:

  1. Missing dependencies
  2. Wrong Solidity version
  3. Invalid import paths

Quick Start by Framework

Foundry

# Create archive with dependencies
cd my-project
zip -r project.zip src/ lib/ foundry.toml remappings.txt

# Or use forge to flatten
forge flatten src/Token.sol > Token.flat.sol

Hardhat

# Include node_modules
cd my-project
zip -r project.zip contracts/ node_modules/ hardhat.config.js

Next Steps

Choose your framework guide: