BlockchainCommons / BlockchainCommons/LifeHash
Document the underlying algorithm
- Vorherrschende Sprache
- Mathematica
- Sterne
- 83
- Forks
- 6
- PR-Merge-Kennzahlen
- Keine gemergten PRs in 30 T.
Beschreibung
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 -- ;
* C++ -- ;
* Python -- (probably the best source for reverse engineering as it's [one self-contained source file](https://github.com/BlockchainCommons/bc-lifehash-python/blob/master/lifehash/lifehash.py));
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:
Beitragsleitfaden
Rechercherichtung
Beginne mit der eigenständigen Python-Referenz unter lifehash/lifehash.py und vergleiche sie anschließend mit den im Issue verlinkten Swift- und C++-Implementierungen. Dokumentiere den vollständigen Algorithmus einschließlich der Details, die im Video fehlen, damit ein anderer Entwickler LifeHash implementieren kann, ohne eine vorhandene Bibliothek per Reverse Engineering analysieren zu müssen.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- cpp, python, rust, swift
- Bereich
- documentation
- Issue-Typ
- Dokumentation
- Schwierigkeit
- 5/5
- Geschätzter Aufwand
- Über eine Woche
- Aktivitätsstatus
- Veraltet
- Klarheit
- Größtenteils klar
- Anfängerfreundlichkeit
- 25/100