diff --git a/assets/dashboard.png b/assets/dashboard.png new file mode 100644 index 0000000..f362d7c Binary files /dev/null and b/assets/dashboard.png differ diff --git a/book/documentation/INTRO.html b/book/documentation/INTRO.html index dadc341..bb3e526 100644 --- a/book/documentation/INTRO.html +++ b/book/documentation/INTRO.html @@ -187,20 +187,21 @@

Overview

Phink is a blazing-fast⚡, property-based, coverage-guided fuzzer for ink! smart contracts. It enables developers to embed inviolable properties into their smart contract testing workflows, equipping them with automatic tools to detect vulnerabilities and ensure contract reliability before deployment.

-

Key Features

-

Property-based Testing

+

Dashboard Overview

+phink +

Key Features

+

Property-based Testing

Phink requires developers to define properties directly within ink! smart contracts. By prefixing functions with phink, such as fn phink_assert_abc_always_true(), developers create properties that act as assertions. During testing, these properties are checked against every input (a set of ink! messages). If a property’s assertion fails, it triggers a panic, signaling that an invariant has been broken. This method ensures thorough validation of contract logic and behavior.

-

Coverage-guided Fuzzing

+

Coverage-guided Fuzzing

In order to become coverage-guided, Phink needs to instrument the ink! smart contract. Although currently adding feedback on each line executed, Phink is designed to evolve, eventually monitoring coverage across new edges and code branches. Feedback is transmitted to the pallet_contract via the debug_message.

-

Why Use Phink

-

Detect Security Vulnerabilities

+

Why Use Phink

Phink addresses security concerns by: