Coder Social home page Coder Social logo

hashmapsdata2value / algoarchiver Goto Github PK

View Code? Open in Web Editor NEW
3.0 1.0 0.0 109 KB

This tools allow you to commit a fingerprint of a file into the Algorand blockchain, for archival purposes.

Home Page: https://algoarchiver.onrender.com

License: MIT License

HTML 2.52% CSS 6.30% TypeScript 91.18%

algoarchiver's Introduction

AlgoArchiver

The purpose of AlgoArchiver is to provide a simple interface through which you can produce a hash fingerprint of a file and then upload it to the Algorand blockchain.

How to run locally

To run locally, install bun and run the following in your terminall:

bun install
bun run dev

(Alternatively, use npm or yarn over bun.)

To run locally against testnet do the following:

cp .env.testnet.example .env

Or the following for localnet:

cp .env.localnet.example .env

Branches, Hosting

Staging is the default branch and is hosted here: https://algoarchiver-staging.onrender.com

Main is the production branch and is hosted here: https://algoarchiver.onrender.com

Staging points to the Algorand Testnet, Main points to the Algorand Mainnet.

We do New-Feature-Branch -> Staging -> Main.

Why?

Generative AI is developing at a rapid rate. It will soon be impossible to differentiate fake content from real, and the barrier of entry will continue to fall.

As a result it is likely that 1) the world will be flooded with AI generated media by malicious entities, 2) regardless if your media is "real" an honest individual might mistake it as being AI generated. This is particularly problematic if the media in quesiton serves as historical proof of war crimes or crimes against humanity.

For every media illustrating that "X" happened, an adversary could generate ad-hoc adverserial videos that attempt to convince a third party that "X" in fact did not happen, or that it is impossible to tell either way.

However, you can be proactive and address this situation today!

By storing a fingerprint of your media in a decentralized, secure blockchain like Algorand for posterity, future individuals will at least be able to verify that a piece of media existed at a certain point of time in the past. Furthermore, Algorand's blockchain history is backed by a steady stream "state proofs", attestions to the state signed by the validators using Falcon keys. Falcon is a post-quantum signature scheme. Thus, unlike other blockchains, Algorand has resistance to future attacks by quantum computers attempting to "rewrite" the history of the blockchain.


algoarchiver's People

Contributors

hashmapsdata2value avatar

Stargazers

 avatar Eldar Ahmadov avatar Brian Whippo avatar

Watchers

 avatar

algoarchiver's Issues

Present past archival txs for user

User Story

As a user, I want to be able to see my previous archival transactions.

Background

Each archival save is a 0 Algo pay tx sent from the user to themselves. Importantly, each tx note field message is prefixed with AlgoArchiver, making it easy ot use the /v2/accounts/{account-id}/transactions API for indexer to query and return the previous archival saves.

For AlgoNode, the API call is as follows:

https://mainnet-idx.algonode.cloud/v2/accounts/{ADDRESS}/transactions?note-prefix=QWxnb0FyY2hpdmVy&tx-type=pay

QWxnb0FyY2hpdmVy is AlgoArchiver in base64.

This returns a JSON.

Acceptance criteria

  • - there is some element that queries the API, accepts the JSON file and then lists out previous transactions
  • - components must include link to explorer page and a preview

Add KMD for developing against localnet

Currently you can only use testnet (or mainnet). If you set your environment variables to point against localnet (activated with Algokit), there's no KMD wallet option.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.