# Timestamps

OpenTimestamps is used to timestamp Seekia commits, releases, and other files.

Visit [OpenTimestamps.org](https://www.opentimestamps.org) to learn more.

Timestamps are useful to provide evidence that a commit was authored by a specific person.

Timestamps can defend Seekia against patent trolls by proving that the patent troll was not the first inventor of an idea.

Timestamps can also protect developers from wrongful accusations of plagiarism.

Timestamping commits is optional.

When someone timestamps a commit on a branch in which your commit has already been merged, your commit will be timestamped as well.

## How to Timestamp Commits

##### 1. Install the OpenTimestamps client.
Link: [Github.com/opentimestamps/opentimestamps-client](https://github.com/opentimestamps/opentimestamps-client)

##### 2. Create a file containing the hex encoded commit hash.

The name of this file should be the commit hash.

Example: 34169c1384cd725d8ab580b6569fcd7276cb93e8.txt

You can view recent commit hashes with the command `git log`.

##### 3. Timestamp the file

Use the command `ots stamp filename.txt`.

##### 4. Wait for the timestamp to be included in the Bitcoin blockchain.

This usually takes several hours.

##### 5. Upgrade the timestamp

Use the command `ots upgrade filename.txt.ots`.

This command upgrades the timestamp to be locally verifiable.

This command will tell you if the timestamp has been confirmed in the Bitcoin blockchain.

##### 6. Push your commit to the Seekia repository.

You don't have to wait for the timestamp to confirm before committing unless you are paranoid about bad actors.

##### 7. Push another commit which adds your .txt and .txt.ots file to the timestamps/Commits folder.

You can do this at a later date. You can upload timestamps in batches.

## How To Verify Commit Timestamps

*TODO*

