hashmeme

command module
v0.0.0-...-56b3b63 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 7, 2022 License: MIT Imports: 17 Imported by: 0

README

hashmeme

It's the year 2099 and historians are debating who first published this and that meme.

If only there was a system that could trace origins of memes...

Introducing HashMeme, a tool for keeping an immutable logs of memes using Hedera services.

Nix Installation (optional)

This uses nix to get a development environment up.

This is optional but highly recommended to get up a reproducible development environment.

For more detailed instructions for your system see: https://nixos.org/download.html

make install

Start nix daemon

Start a daemon in one terminal window

sudo /nix/var/nix/profiles/default/bin/nix-daemon

Start a nix-shell

This is your development environment

nix-shell --pure

Building


make build

# Check ./target for runnable

Making a GUI frontend

make gui

# or if not using nix:
make gui-nonix

Running tests

make tests

How it works

  • User saves keys locally in a .env file
  • User provides an image path as an input.
  • HashMeme creates a hash of the image.
  • HashMeme also tries to detect the text with OCR.
  • HashMeme sends the payload of (Author,ImageHash,TextContent)to the Hedera Consensus Service
  • Any user can then look up against the HCS based against the content.

FAQ

Some design decisions were taken that can be answered by the following:

Why Go?
  • It's simple, efficient, stable
  • The UI framework can compile to native binaries across MacOS, Windows, Linux, Android, and iOS.
  • ..and it's got an official SDK with Hedera.
Why run locally?
  • It's a simple implementation and your keys remain safe locally (assuming you know how to keep your local files secure).
  • Maybe in the future there could be a wallet integration once that is more mature.
Why did you choose the Hedera Consensus Service? Why not the Hedera Token Service or the Hedera File System to store memes?
  • The Consensus service is a lot cheaper with predictable fees, which you can read more about it here: https://docs.hedera.com/guides/mainnet/fees#transaction-and-query-fees
  • Current ownership isn't what we're solving for as with an NFT, we just care about when did this meme first appear out in the wild.
  • The consensus service is a better fit when it comes to arriving to an agreement when a certain thing first appeared. In this case, it's a hash of an image with it's text content in the field.
Ok this is silly isn't it?
  • Yeah, it is mostly for the lols, but it's a proof of concept of what you can do with the consensus service.
  • There is a widespread problem of misinformation and fact checking out there.
  • This use case can be extended for verifying facts in the real world.
How can this be extended?
  • Native wallet integration
  • Support for video formats
  • Support for more image formats
  • Web version

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis
bin

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL