Lightstreams Smart Vault Dashboard app showcase an example of a decentralize app (Dapp) using Lightstreams Smart Vault SDK in a NodeJS.
This project also showcase the usage of lightstreams-js-sdk, a set of wrappers around Lightstreams Smart Vault and Web3js.
Using this DApp you will be able to upload your files uploaded into a Lightstreams Smart Vault node to manage the its distribution and acceptability. In addition you will be able to also request access to other users files and manage the pending request to your own content made by other users.
https://demo.dashboard.lightstreams.io
To run this project you need to have a local instance of the Smart Vault running
on your machine. Learn how to do that in our getting started documentation
Your smart vault node can either be connected to Standalone
or Sirius.
Init node
$> leth init --nodeid=1 --network={standalone|sirius}Run node
$> leth run --nodeid=1 --network={standalone|sirius} --httpsNote: In case you selected
Siriusyou have to wait till it syncs. You can check the status of the network in its block explorer
yarn installFirstly, copy sample .env as follow:
$> cp .env.sample .envNote: The
STAKEHOLDER_ADDRESSis used to top up users accounts with5 PHTto fund the usage of the app.
Option 1: Standalone Network
Then, edit your .env with:
NODE_PATH=.
PORT=3000
DEBUG=*:*
GATEWAY_DOMAIN="http://localhost:9091"
WEB3_PROVIDER="http://localhost:8545"
NET_ID="161"
STAKEHOLDER_ADDRESS="0xc916cfe5c83dd4fc3c3b0bf2ec2d4e401782875e"
STAKEHOLDER_PASSWORD="WelcomeToSirius"
and after you have to compile and deploy Dashboard.sol contract to standalone network:
$> yarn truffle:deploy -- standaloneAccount 0xc916cfe5c83dd4fc3c3b0bf2ec2d4e401782875e is the genesis
account of Standalone
Option 2: Sirius Network
Firstly you will need to create a new wallet in your peer as follow:
$> leth user signup --nodeid=1 --network=sirius
Enter password: ****
{"account":"0xC37c560c2987F214e75868595a1db181E90Ee955"}
Then, edit your .env with:
NODE_PATH=.
PORT=3000
DEBUG=*:*
GATEWAY_DOMAIN="http://localhost:9091"
WEB3_PROVIDER="http://localhost:8545"
NET_ID="162"
STAKEHOLDER_ADDRESS="${YOUR_ACCOUNT}"
STAKEHOLDER_PASSWORD="${YOUR_PASSWORD}"
ADDRESS_DASHBOARD_CONTRACT="0xFe829259DA7B913528E6A994338aEbFa45E1faae"
Then you can request some free token following this instructions
Now it is time to execute a dev server:
$> yarn web:devYou can see the list of files you uploaded and which users have access to them. By clicking
on one of the little icon you can revoke the access to the users at anytime.
Also you can download the content of the files you uploaded.

Grant access to other users to your content without waiting for a access request.

Insert the username of other user and load the list of available items of this user.
By clicking on the locker icon you will send a access request to the file owner. In case
you already got access to the file it will display the download action.

On this section it will listed the pending access requests from other users to your files.

This project implements a simple freemium model where the STAKEHOLDER_ADDRESS account transfer
5 PHT tokens to every new user to fund the initial usage of it. Instead of Lightstreams team has
integrated a Gas Station Network(GSN), a standardized pattern within Ethereum community
where users transaction are funded using an advance implementation of the contract design. If you want to
read more about this topic read this medium article
- IPFS
- Ethereum
- Decentralized Application (DApp)
- Smart Vault



