Library Linking Verification Tool
Free to download on every platform. Comes pre-installed on BotFone, BotPad and BotFlip — with extra free apps included.
About this app
WHAT IT DOES
The Library Linking Verification Tool is a developer tool that verifies whether libraries are correctly linked in contract bytecode. It scans the bytecode for library placeholder patterns (__$LibraryName$__), compares them against user-provided library address mappings, and identifies which libraries are resolved and which remain unresolved. This helps developers catch linking errors before deployment and ensure that all library references are properly replaced with actual addresses.
HOW TO USE
Enter the contract bytecode (hex string starting with 0x) into the first text area. Enter library mappings in the format __$LibraryName$__=0x... (one per line). Click "verify linking" to scan the bytecode. The tool identifies all library placeholders, checks them against the provided mappings, and generates a verification report showing total placeholders found, resolved count, unresolved count, and a detailed table of each placeholder with its status.
TECHNICAL MECHANISM
The tool scans the bytecode using regex to find library placeholder patterns in the format __$LibraryName$__. These placeholders are inserted by the Solidity compiler when libraries are not linked at compile time. The tool extracts each placeholder and its library name, then checks if a matching mapping exists in the user-provided mappings. A placeholder is considered resolved if a mapping is provided for that exact placeholder string. The tool reports the count of resolved and unresolved placeholders, and provides a detailed breakdown in a table format. The verification helps developers identify missing library links before deployment, preventing runtime errors.
WHAT IT CANNOT SEE
The tool cannot verify if the library address is actually a valid library contract on-chain. It cannot detect if the linked library matches the correct library version without source code comparison. The tool cannot automatically fix unresolved library references. It cannot detect library linking issues in constructors or internal functions. The tool cannot verify that library functions are accessible at the linked address. It cannot detect if the bytecode has been optimized differently than expected. The tool cannot handle libraries that are linked at runtime via delegatecall patterns.
PLEASE NOTE
This tool is designed for Ethereum Virtual Machine (EVM) compatible chains. The library placeholder pattern __$LibraryName$__ is used by the Solidity compiler for libraries that need to be linked. The tool performs static analysis on the bytecode and does not interact with the blockchain. The tool provides estimates only and should be used as a reference for verifying library linking. Always test the deployed contract on a testnet to ensure libraries are correctly linked before mainnet deployment.