Wake: A Python Framework for Secure Solidity Development and Fuzz Testing

This repository profile is provided by osrepos.com, an open source repository discovery platform.

Wake: A Python Framework for Secure Solidity Development and Fuzz Testing

Summary

Wake is a robust Python-based framework designed for secure Solidity development and comprehensive fuzz testing. It provides built-in vulnerability detectors, helping developers build more secure Ethereum dApps. With features like a VS Code extension and CI/CD integration, Wake streamlines the smart contract development workflow.

Repository Information

Analyzed by OSRepos on January 21, 2026

Topics

Click on any tag to explore related repositories

Use at your own risk

OSRepos shares public repositories for knowledge and discovery only. Any installation, execution, configuration, or use of code from these repositories is the user's own responsibility. Always review the repository, source code, dependencies, licenses, and security implications before running or installing anything. OSRepos is not responsible for issues, damages, or losses resulting from third-party repositories.

Introduction

Wake is a powerful Python-based framework for Solidity development and fuzz testing, created by Ackee Blockchain Security. Trusted auditors of major projects like Lido, Safe, and Axelar, Ackee Blockchain built Wake to help developers write safer smart contracts faster. It offers a comprehensive suite of tools for testing, analysis, and deployment of Ethereum dApps.

Installation

To get started with Wake, ensure you have Python 3.8 or higher installed. For Apple Silicon Macs, Rosetta must be enabled.

Install Wake via pip:

pip3 install eth-wake

Examples

Wake offers powerful features for testing and development.

Fuzzer Example

Wake's fuzzer is built on its testing framework, enabling efficient fuzz testing of Solidity smart contracts. Here's an example of a fuzz test for a simple counter contract:

from wake.testing import *
from wake.testing.fuzzing import *
from pytypes.contracts.Counter import Counter

class CounterTest(FuzzTest):
    def pre_sequence(self) -> None:
        self.counter = Counter.deploy()
        self.count = 0

    @flow()
    def increment(self) -> None:
        self.counter.increment()
        self.count += 1

    @flow()
    def decrement(self) -> None:
        with may_revert(PanicCodeEnum.UNDERFLOW_OVERFLOW) as e:
            self.counter.decrement()

        if e.value is not None:
            assert self.count == 0
        else:
            self.count -= 1

    @invariant(period=10)
    def count(self) -> None:
        assert self.counter.count() == self.count

@chain.connect()
def test_counter():
    CounterTest().run(sequences_count=30, flows_count=100)

Detectors and Printers

Wake includes built-in vulnerability and code quality detectors. You can run all detectors with:

wake detect all

To run a specific detector, use:

wake detect <detector-name>

Printers can extract useful information from Solidity code:

wake print <printer-name>

For custom detectors and printers, refer to the getting started guide.

LSP Server

Wake implements a Language Server Protocol (LSP) server for Solidity, providing features like autocompletion and hints in your IDE. Run it with:

wake lsp

You can also specify a port (default is 65432):

wake lsp --port 1234

Why Use Wake

Wake stands out as a comprehensive framework for Solidity development due to its unique combination of features:

  • Built-in Fuzzing: Automatically generates diverse inputs and edge cases to uncover hidden vulnerabilities, including manually-guided and property-based fuzzing.
  • Vulnerability Detectors: Catches common issues like reentrancy, overflows, and logic flaws early in the development cycle.
  • Seamless Developer Experience: Offers a VS Code extension, GitHub Actions for CI/CD integration, and a solc manager for consistent builds.
  • Cross-chain Testing: Compatible with popular environments such as Anvil, Hardhat, and Ganache.
  • Pytest Integration: Leverages the familiar pytest framework for writing clean and simple tests.
  • Static Analysis Framework: Provides a robust framework for custom detectors and printers, allowing for project-specific rules and insights.
  • Language Server Protocol (LSP): Delivers autocompletion, hints, and references directly within your IDE, enhancing productivity.

Wake's ability to combine advanced fuzzing, static analysis with detectors, and a full-featured LSP server in a Python environment makes it a powerful tool for ensuring the security and quality of smart contracts.

Links

For more detailed information, contributions, and community engagement, explore the following resources:

Related repositories

Similar repositories that may be relevant next.

text-to-cad: AI Agent Skills for CAD, CAE, and CAM Workflows

text-to-cad: AI Agent Skills for CAD, CAE, and CAM Workflows

September 24, 2026

text-to-cad is a comprehensive Python library developed by earthtojake, providing a rich set of agent skills for Computer-Aided Design (CAD), Computer-Aided Engineering (CAE), and Computer-Aided Manufacturing (CAM). It enables AI agents to generate, inspect, source, slice, and manage CAD and robot-description artifacts, streamlining complex engineering processes.

agentsai-agentscad
dcc-mcp-blender: AI-Driven 3D Workflows with an Embedded MCP Server

dcc-mcp-blender: AI-Driven 3D Workflows with an Embedded MCP Server

September 24, 2026

dcc-mcp-blender is a powerful Blender addon that integrates an embedded Streamable HTTP MCP server directly into Blender. This allows any MCP-compatible AI client to seamlessly control and automate your 3D modeling, animation, and rendering workflows. It offers over 200 pre-built tools and an extensible skill system for robust production environments.

blenderaiai-agents
i-have-adhd: Streamline Your Coding Agent's Output for Clarity

i-have-adhd: Streamline Your Coding Agent's Output for Clarity

September 23, 2026

i-have-adhd is a powerful skill designed to transform your coding assistant's responses into clear, actionable, and concise outputs. It prevents AI agents from burying essential information, ensuring you receive direct answers and numbered steps without unnecessary preamble or fluff. This tool is ideal for developers seeking enhanced productivity and straightforward guidance from their AI coding partners.

adhdclaude-aideveloper-tools
Guaardvark: Your Self-Hosted AI Studio for Agents, Media, and Code

Guaardvark: Your Self-Hosted AI Studio for Agents, Media, and Code

September 21, 2026

Guaardvark is a comprehensive, self-hosted AI studio designed for local execution of advanced AI tasks. It integrates coding agents, media generation (video, image, music, voice), and robust RAG capabilities, all running on a single GPU. This platform prioritizes privacy and user control, enabling a full AI workstation experience on your own hardware.

aiai-agentsself-hosted

Source repository

Open the original repository on GitHub.

17 counted GitHub visits

View on GitHub
OS
OSRepos

Analysis and discovery of open source repositories. Find interesting projects and follow their updates.

Monitor your website with YourWebsiteScore

OSRepos shares public repositories for knowledge and discovery only. Any installation, execution, configuration, or use of third-party repository code is at your own risk. Always review source code, dependencies, licenses, and security implications before running anything.

© 2025 OSRepos. Built with Nuxt 3 and lots of ❤️