Skip to content

lightningrodlabs/files

Repository files navigation

Files hApp

We-applet for sharing and sending files between agents of a We group.

Design Goal

Enable sharing of big files between agents by using the Delivery zome module.

Features

  • Store a file privately on source-chain.
  • Share a file publicly (On DHT).
  • Download a file shared publicly by other agents.
  • Send a file privately to another agent.
  • Accept or decline a file sent from another agent (and store it on source-chain).

Affordances

  • See status of pending distributions (outbounds). Trigger send data.
  • See status of pending deliveries (inbounds). Trigger a request data.
  • See source-chain size.
  • See publicly available files.
  • See the files stored on my source-chain.
  • See the files I publicly shared.
  • See incomplete sharing of public files. Re-upload file.
  • Scan for incomplete/pending parcels
Activity timeline
  • General Activity timeline
  • See "activity" history with another agent.
  • See "activity" history for a File.
  • See "activity" history for a distribution.
Notifications
Real-time only
  • New file $FILE_NAME shared publicly by $PROFILE
  • Delivery reception complete
  • Distribution to a recipient complete
  • Upload complete (public sharing)
Any time
  • New Delivery notice received
  • Reply received

TODO

  • Check if file is already published (check dataHash; add it to public parcel linkTag)

Dev testing

Setup

  1. Install the required tools
  2. Rust wasm target: npm run install:rust
  3. holochain: cargo install holochain (or use nix-shell)
  4. npm run install:hc
  5. npm run install:zits
  6. npm install
  7. npm run install:submodules
  8. npm run install:hash-zome
  9. npm run build:localize

Web

npm run devtest

Network

To bootstrap a local network of 3 agents:

npm run network:local3

Package

To package the web-happ:

npm run package:webapp

All output files (*.webhapp, *.dna, *.happ, etc.) will be in the artifacts folder.

Project structure

Directory Description
/artifacts/ Output folder
/dna/ DNA source code
    workdir/ Files DNA & We-happ work directory
    workdir_profiles/ Profiles DNA work directory
    workdir_standalone/ Files standalone HAPP work directory
/scripts/ Tool chain
/we-applet/ The we-applet source code
    webhapp.workdir/ we-applet work directory
/webapp/ The webapp source code
    webhapp.workdir/ webhapp work directory
/webcomponents/ The web components source code

License

License: CAL 1.0

Copyright (C) 2023, Harris-Braun Enterprises, LLC

This program is free software: you can redistribute it and/or modify it under the terms of the license provided in the LICENSE file (CAL-1.0). This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

No packages published