A Solidity string utility library authored by Piper Merriam and deployed on October 12, 2015, providing functions for converting between unsigned integers and s...
Key Facts
Description
The StringLib contract was deployed at block 373552 on October 12, 2015, by Piper Merriam. The source code header explicitly attributes the work: "String Utils v0.1" and "@author Piper Merriam - pipermerriam@gmail.com". The contract contains two libraries: StringLib, which implements the core logic, and StringUtils, which acts as a thin wrapper delegating to StringLib.
The library provides two functions. The uintToBytes function converts an unsigned integer to its decimal string representation, stored as a bytes32 value. It works by repeatedly extracting the least significant digit using modular arithmetic and building the string from right to left using bit shifts. The bytesToUInt function performs the reverse conversion, reading ASCII digit characters from a bytes32 value and accumulating the integer result.
The contract was compiled with Solidity v0.1.5 and was deployed six days after the DateTime library by the same address. Both libraries were part of pipermerriam's active development infrastructure for the Ethereum Alarm Clock, where human-readable string formatting of call identifiers and amounts was a practical requirement.
The explicit author attribution with an email address in the source code was a common convention in early Solidity development, borrowed from documentation practices in other programming languages. Piper Merriam applied this convention consistently across his early contracts.
Heuristic Analysis
The following characteristics were detected through bytecode analysis and may not be accurate.
Frontier Era
The initial release of Ethereum. A bare-bones implementation for technical users.
Bytecode Overview
Verified Source Available
This contract has verified source code on Etherscan.
View Source Code