On-chain life log and trust fund built by Jaco Greeff for his daughter Charlyn, born April 2016. Holds 16 ETH withdrawable to whitelisted addresses.
Historical Significance
One of the earliest examples of a 'personal' smart contract on Ethereum, not a token, exchange, DAO, or game, but a private journal and family trust fund authored by a parent for a specific child. Deployed eight days before the DAO hard fork. The author, Jaco Greeff, later became a core contributor to polkadot-js, but in 2016 he was an early Ethereum developer building bespoke contracts for personal use. The contract demonstrates how flexible Frontier-era Solidity already was for civic and personal applications, years before standards like ERC-725 (identity) or any of the trust-fund DAO templates that would appear later.
Context
Deployed 23 June 2016 in the final week before the DAO hard fork (block 1,920,000, 20 July 2016). Solidity 0.3.5 was the current release: contracts still used the old function ContractName() constructor form, throw instead of revert, and array growth via arr.length++. There was no OpenZeppelin (first release late 2016) and no standardized multisig outside Consensys MultiSigWallet, so whitelisted-trust patterns like this one were being invented organically. The withdraw cap (20 percent per 180 days) is an early example of an on-chain time-locked vesting schedule.
Key Facts
Description
CharlyLifeLog is an on-chain life log and trust fund built by Jaco Greeff (jacogr, polkadot-js) for his daughter Charlyn, born 18 April 2016. The constructor adds Jaco's wallet to a whitelist and creates a Person record for Charlyn as people[0] with relation 'self'. Mother Mirana Hotz (born 16 December 1977) and father Jaco Greeff (born 11 June 1973) appear in the source header and were added via personAdd calls after deployment.
The contract supports adding more people via personAdd(name, dateOfBirth, dateOfDeath, relation), updating each person's name, relation, DOB, DOD, and activity flag through dedicated setters, and logging arbitrary timestamped events via log(description, when). Every state change emits an event, so the on-chain history is fully reconstructible.
The trust mechanic is built into withdraw(amount): any whitelisted address may pull up to 20 percent of the current balance, but only once every 180 days, enforced by nextWithdrawal = now + WITHDRAW_INTERVAL. Anyone can donate() (or send to the fallback) and the donor address is credited in the donations mapping.
As of May 2026 the contract holds 16.2 ETH. Source published by Jaco at github.com/jacogr/ethcontracts and verified on Etherscan as CharlyLifeLog. Compiler: Solidity v0.3.5 (21 June 2016, commit b23c300), optimizer on, 200 runs.
Source Verified
Author-published source. Verified on Etherscan. Source repo: github.com/jacogr/ethcontracts/tree/master/src/LifeLog
Homestead Era
The first planned hard fork. Removed the canary contract, adjusted gas costs.