# Adding Commits

Commit hashes come from running the SHA-1 hashing algorithm on the raw contents of the commit data (tree, parent, author, message, etc). If you look at the commit history for any given repository, you will see a list of commit hash.

git cat-file –p <commit hash>

returns the data that was originally used to create that git hash:

Commit without address
A git commit, with the generated hash (in blue).

Embedding Ethereum address in the message creates a secure commit hash -> address mapping.

Any change in the message (e.g. amending commit with someone elses address) generates a new hash.

Commit with address
A git commit with an address embedded (in red).

Alice can now have token rewards for her contribution sent to her Ethereum wallet address.

When all contributors do this, it is easy to distribute project ownership as token rewards to previous commits.

Example Repo
A repository with commit owners that can receive rewards (aside from the first 3).

Once a new release is created, the addresses associated with these commits are able to receive rewards from the distribution.