duality-solutions / pShare

(PrivateShare)
https://duality.solutions/pshare
Other
17 stars 6 forks source link
blockchain dynamic electron-app file-sharing peer-to-peer private secure webrtc

pShare

Software Objectives:

Prerequisite

Development

# install any new dependencies
yarn install

# run application in development mode
yarn dev

Building

# compile source code and create webpack output
yarn compile

# `yarn compile` & create build with electron-builder
yarn dist

# `yarn compile` & create linux build with electron-builder on any OS
yarn dist-linux

# `yarn compile` & create unpacked build with electron-builder
yarn dist:dir

Bundling pShare's Dynamicd

To distribute pShare with a specific Dynamicd version, you must place the binaries in the specific OS folder and then build as described above.

   src/
   └── static/
       └── dynamicd
           ├── darwin
           |   └── dynamicd (mac binary)
           |   └── dynamic-cli (mac binary)
           ├── linux
           |   └── dynamicd (linux binary)
           |   └── dynamic-cli (linux binary)
           └── win32
               └── dynamicd (windows binary)
               └── dynamic-cli (windows binary)

Platform examples:

# Windows installer (.exe)
yarn dist --win
# Ubuntu package (Debian package)
yarn dist --linux
# MacOS Disk Image (DMG)
yarn dist --mac --x64

Building pShare Dynamicd

New binaries can be created by following https://github.com/HiddenField/dynamic-vagrant/blob/master/docker.md#extracting-the-binary-build-artefacts-from-the-docker-image

Installing and Running Electron App on Linux

Configuring pShare on Linux

Stopping pShare

Application architecture

Information about the architecture of the application can be found in this document

Talking to an installed pShare's instance of dynamicd

Linux .deb-based installation from bash

In the terminal, it is possible to make an alias dyncli to point to the running dynamicd:

$ alias dyncli='/opt/pShare/resources/static/dynamicd/linux/dynamic-cli "-conf=$HOME/.pshare/.dynamic/dynamic.conf" "-datadir=$HOME/.pshare/.dynamic"'

then we can use it to issue RPC commands against the running dynamicd as follows:

$ dyncli syncstatus

Windows-based installation from cmd

In windows, we can use the following:

> "%LOCALAPPDATA%\Programs\pshare\resources\static\dynamicd\win32\dynamic-cli.exe" "-conf=%USERPROFILE%\.pshare\.dynamic\dynamic.conf" "-datadir=%USERPROFILE%\.pshare\.dynamic" syncstatus

to do the same thing. No alias command to ease usage, unfortunately.

License

See LICENSE.md file for copying and use information.