This guide shows how to prove you authored any digital file—PDF, code, manuscript—without publicly releasing its contents.
We use SHA‑256 checksums and a simple smart contract to create an immutable, timestamped record of your work.
sha256sum myfile.pdf
Copy the 64‑hex output and prefix with 0x.
registerWork(checksum).
This stores your address and block.timestamp.
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.2;
contract AuthorshipClaim {
/// @notice Publish only an event: off‑chain you read block.timestamp
event WorkRegistered(
bytes32 indexed checksum,
address indexed author
);
/// @notice Stamp a hash to chain in the cheapest way possible
function registerWork(bytes32 checksum) external {
emit WorkRegistered(checksum, msg.sender);
}
}
Later, recompute the checksum and call getWork(checksum) or isRegistered(checksum).
You’ll see the original registrant and timestamp.
This method provides a tamper‑proof, timestamped proof of authorship without exposing your file’s contents.