abc-blockchain
v0.1.2
Published
Enterprise-grade ERC-4337 Hardhat bootstrap framework.
Maintainers
Readme
ABC Blockchain
Enterprise-grade ERC-4337 Hardhat bootstrap framework. Scaffold production-ready account abstraction projects with a single command.
npx abc-blockchain init my-project
cd my-project
npm testFeatures
- ERC-4337 Native — Smart account, account factory, entry point, paymaster hooks, and token contracts pre-integrated.
- Hardhat + TypeScript — Ignition deployment modules, type-safe scripts, and task runner included.
- CI/CD Ready — GitHub Actions workflows for CI and npm publishing with provenance.
- Security First — Zod environment validation, Slither configuration, dependency auditing, and audit-friendly project layout.
- Zero Telemetry — No hidden network calls, obfuscated code, or tracking of any kind.
CLI
abc-blockchain init <project-name> [options]| Option | Description |
|--------|-------------|
| --no-install | Skip dependency installation after scaffolding |
| --package-manager <npm\|pnpm\|yarn> | Package manager to use (default: npm) |
Generated Project
my-project/
├── contracts/
│ ├── interfaces/
│ │ ├── IEntryPoint.sol
│ │ └── IPaymasterHook.sol
│ ├── SmartAccount.sol
│ ├── AccountFactory.sol
│ ├── EntryPoint.sol
│ └── Token.sol
├── scripts/
│ ├── lib/
│ │ ├── bundler.ts
│ │ ├── env.ts
│ │ └── logger.ts
│ ├── createAccount.ts
│ └── deploy.ts
├── deployments/
├── ignition/
│ └── modules/
│ └── AccountAbstraction.ts
├── tasks/
│ └── accounts.ts
├── test/
│ └── SmartAccount.ts
├── .github/workflows/
│ ├── ci.yml
│ └── release.yml
├── hardhat.config.ts
├── tsconfig.json
├── .env.example
└── package.jsonArchitecture
The CLI copies a versioned Hardhat template, renders project metadata, and installs dependencies. Generated projects follow a clean separation of concerns:
| Layer | Directory | Responsibility |
|-------|-----------|----------------|
| Contracts | contracts/ | Solidity smart contracts (Account, Factory, EntryPoint, Token) |
| Deployment | ignition/ | Hardhat Ignition modules for deterministic deploys |
| Scripts | scripts/ | CLI scripts for account creation, deployment, and bundler interaction |
| Tasks | tasks/ | Hardhat tasks (e.g., account listing) |
| Tests | test/ | Contract tests with Hardhat test runner |
| CI | .github/ | GitHub Actions workflows for CI and release |
Environment variables are validated through Zod at runtime — missing or malformed configuration fails early with clear error messages. Deployment scripts emit structured JSON logs and deployment manifests.
Publishing
This package is published to npm via GitHub Actions. See PUBLISHING.md for the full release checklist.
# Local dry-run verification
npm ci
npm run ci
npm pack --dry-run
# Manual publish (fallback)
npm version <semver>
npm publish --provenance --access public
git push origin main --follow-tagsRepository Structure
abc-blockchain/
├── src/ # CLI source
│ ├── cli.ts # Entry point (Commander)
│ ├── create-project.ts # Scaffolding logic
│ ├── template.ts # Template rendering
│ ├── config.ts # Project configuration
│ ├── package-manager.ts # npm/pnpm/yarn detection
│ ├── logger.ts # Structured logging
│ └── branding.ts # Framework metadata
├── templates/
│ └── hardhat-erc4337/ # Project template
├── .github/workflows/
│ ├── ci.yml # CI pipeline
│ └── publish-npm.yml # npm publish workflow
├── PUBLISHING.md # Release process
├── SECURITY.md # Security policy
└── package.jsonRoadmap
- v0.1 — EntryPoint integration, smart account factory, deterministic deployments, and tests (current)
- v0.2 — Selectable templates (minimal, audited, upgradeable, paymaster-enabled)
- v0.3 — Bundler and paymaster provider adapters for common ERC-4337 infrastructure
- v0.4 — Foundry profile, Slither CI job, contract size reporting
- v1.0 — Stable CLI, stable template contracts, external security review
Security
ABC Blockchain contains no hardcoded secrets, backdoors, telemetry, or obfuscated code. Generated projects include:
- Environment variable validation via Zod
- Dependency audit scripts (
npm audit) - Slither-ready configuration for static analysis
- Audit-friendly directory boundaries
Report vulnerabilities via SECURITY.md.
License
MIT — see LICENSE.
Created by Kimberley Bezuidenhout
