Document the underlying algorithm
Nobody has claimed this yet.
Assessment
- Difficulty
- 5/5
- Estimated time
- Over a week
- Newbie friendliness
- 25/100
- Issue type
- Documentation
- Clarity
- Mostly clear
- Activity status
- Stale
- Domain
- documentation
Research direction
Start with the self-contained Python reference at lifehash/lifehash.py, then compare it with the Swift and C++ implementations linked in the issue. Document the complete algorithm, including details absent from the video, so another developer can implement LifeHash without reverse engineering an existing library.
Written by the indexing model from the issue text.
Description
Is there a document that specifies the algorithm behind LifeHash?
I know there are at least three reference implementations in various languages, listed below for completeness, however it requires a lot of effort to reverse engineer these:
- Swift -- https://github.com/BlockchainCommons/LifeHash;
- C++ -- https://github.com/BlockchainCommons/bc-lifehash;
- Python -- https://github.com/BlockchainCommons/bc-lifehash-python (probably the best source for reverse engineering as it's one self-contained source file);
For example I was looking for a pure Rust based implementation but there is none. I might have tried to implement one in a weekend, but there is no specification to start from, and reverse engineering an already implementation is far from a weekend project. :)
Also, for completeness, the video linked in the repository does give some insight, but it doesn't contain all the actual details: https://www.youtube.com/watch?v=cu0K__KLxKo
- Dominant language
- Mathematica
- Stars
- 83
- Forks
- 6
- PR merge metrics
- No merged PRs in 30d
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Similar issues
-
documentation
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
githubnext/gh-aw-workshop#3692 ·
-
agent/guide documentation hive/hosted-available-lke648397-260827-5n31
Difficulty 2/5 1-3 hours Newbie friendliness 90/100
-
kind/bug
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
falcosecurity/falco-website#1601 ·
-
documentation
Difficulty 2/5 Half a day Newbie friendliness 62/100
inmanta/inmanta-core#10835 ·
-
Difficulty 1/5 Under an hour Newbie friendliness 88/100
k3s-io/k3s-ansible#566 ·