Demo

If you are a developer, you can follow these instructions to run a demo application of the Smart Vault to see it in action. The demo has a demonstration Content Access Control user interface for uploading files and granting access to other accounts.

Requirements

Instructions

  1. Run an instance of the demo application.

docker run -p 9091:9091 -p 4002:4002 -it --name demo1 lightstreams/leth-0.33.2-alpha-demo

Note: port 9001 is used for serving the user interface of the demo and port 4002 is used for the peer-to-peer transmission of data between Smart Vaults. 2. Now open your browser at the following address: http://localhost:9091

The demo application will open and will display your Account address and Balance of test tokens. The account address is your identifier and is used by other people for granting you permission to a file. Normally, for each file you wish to access, the Smart Vault will generate another Account address. However, for this demo we will use just one. This application uses our test network, so your balance will be automatically topped up with 100 TPHT. The test tokens are used for creating and interacting with smart contracts that are used for managing access control permissions to files. 3. Click the Upload button and upload a file.

  1. Once the file is uploaded you will see the Meta details about the file.

The meta details give the following information about the file: Meta Address - This is the address used for searching for the file. This contains the public meta information about the file (Filename, File Type, File IPFS Address, Owner Account and ACL Address).

  1. Now in another console window, run another instance of the demo.

docker run -p 9092:9092 -p 4003:4003 -it --name demo2 lightstreams/leth-0.33.2-alpha-demo /bin/sh -c "~/run.sh 2"

Note: If you have another computer, you could run this command also that machine.

  1. Open your browser at the following address: http://localhost:9092

  1. Now we will grant the demo 2 instance to be able to access the file that was uploaded. Copy the account number from demo2 and paste it into the Permissions box in demo1 and click Grant.

  1. Now we will access the file on demo3. Copy the Meta Address from demo1. On demo2, click Search and paste the Meta Address.

  1. Now click Search

This pulls the public information about the contained at the Meta Address.

  1. Now, click Access.

The file has been transmitted from the instance of demo 1 to demo 2. Note: When multiple instances have copies of the same file they will transmit the data simultaneously to other authorised instances.

Clean up

To stop the docker containers and remove them:

docker stop demo1
docker stop demo2
docker rm demo1
docker rm demo2

More instances

If you would like to run more instances to test out the peer-to-peer nature of the network. For example, having demo1 grant access to demo3 and then stop demo1. When demo3 requests the file, demo2 which has a copy, will verify demo3 has been granted permission and will transmit the content. Note: Data is transmitted directly between peers via a secure SSL connection. Run a third instance and navigate to http://localhost:9093

docker run -p 9093:9093 -p 4004:4004 -it --name demo3 lightstreams/leth-0.33.2-alpha-demo /bin/sh -c "~/run.sh 3"

Run a forth instance and navigate to http://localhost:9094

docker run -p 9094:9094 -p 4005:4005 -it --name demo4 lightstreams/leth-0.33.2-alpha-demo /bin/sh -c "~/run.sh 4"

Local Stand-Alone Cluster

You can run a stand-alone cluster of the blockchain network and smart vault overlay network on your local machine for development and testing purposes by the following these instructions:

Contact

If you are interested in our team doing further development to customise the Smart Vault or add features to suit your use case, then please get in contract with us at: support@lightstreams.io

Last updated