Back to Home

CharlyLifeLog

0x5a5eff38da95...168b480953c9
HomesteadBytecode OnlyEdit this contract
Deployed June 23, 2016 (9 years ago)Block 1,757,102

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.

Homestead Era

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
Deployment Block
1,757,102
Deployment Date
Jun 23, 2016, 01:53 PM
Code Size
4.5 KB

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

SolidityEtherscan verified
Compiler: v0.3.5+

Author-published source. Verified on Etherscan. Source repo: github.com/jacogr/ethcontracts/tree/master/src/LifeLog

External Links