Skip to content
Snippets Groups Projects
user avatar
refs #34 - update
Tiago authored
d9602999
History

Banner

Status

Build

coverage

Glass Wallet Distributed App

Glass Wallet's main (UI based) repository. Exposes to the end user all the Glass Project related functionalities

Installation

In order to use the glass-wallet package, we need to follow a list of steps presented below.

Step 1: Install as Dependency (via npm)

Step 1.1: Dependencies

This package has the following dependencies of other @glass-project packages:

  • @glass-project/db-decorators,
  • @glass-project/decorator-validation,
  • @glass-project/dsu-blueprint,
  • @glass-project/dsu-utils,
  • @glass-project/key-sharding,
  • @glass-project/logging,
  • @glass-project/ui-decorators
  • @glass-project/ui-decorators-web
  • @glass-project/trust-loader
  • @glass-project/blueprint-loader

All of them need to be installed via npm install --save-dev. (Saving has a proper dependency is also supported but not advised since it breaks modularization, and creates duplication of interior scopes)

Step 1.2: Install

To install as a dependency do:

$ npm install @glass-project/glass-wallet

To install as a dev dependency do:

$ npm install @glass-project/glass-wallet --save-dev

instead.

Step 1 (Alternative): Install via Octopus

If you are working on an OpenDSU workspace and require easy access to the source code, you can also clone from the source and rebuild it from source.

Step 1.1: Add Octopus as a npm dependency (it should already be there)

Octopus is an OpenDSU related TaskRunner with some integrations with the OpenDSU Framework

add to you package.json, under the devDependencies:

{
  "devDependencies": {
    "octopus": "git+https://github.com/PrivateSky/octopus.git"
  }
}

in both the octopus.json and octopus-freeze.json add:

  • under dependencies:
    {
      "name": "glass-wallet",
      "src": "https://gitlab.ubitech.eu/glass-project/wallet/glass-wallet.git",
      "actions": [
        {
          "type": "smartClone",
          "target": ".",
          "collectLog": false
        },
        {
          "type": "execute",
          "cmd": "cd glass-wallet && npm install"
        }
      ]
    }
  • under build:
    {
      "name": "build glass-wallet",
      "src": ".",
      "actions": [
        {
          "type": "execute",
          "cmd": "cd glass-wallet && npm run build:lprod"
        }
      ]
    }

This will instruct the taskrunner on how to build the repository, and tell it to also include it in its install and build-all tasks.

You can now use the code under ./glass-wallet/www

Repository Structure

glass-wallet

│   .gitignore              <-- Defines files ignored to git
│   .gitlab-ci.yml          <-- GitLab CI/CD config file
│   .nmpignore              <-- Defines files ignored by npm
│   .nmprc                  <-- Defines the Npm registry for this package
│   gulpfile.js             <-- Gulp build scripts. used to clean the stencil output bundles from leftover opendsu imports. also trnaspiles the blueprint files
│   jsdocs.json             <-- Documentation generation configuration file
│   LICENCE.md              <-- Licence disclamer
│   nodemon.json            <-- Nodemon config file (allows to live test ts files)
│   package.json
│   package-lock.json
│   README.md               <-- Readme File dynamically compiled from 'workdocs' via the 'docs' npm script
│   stencil.config.js       <-- Stencil configuration file
│   tsconfig.json           <-- Typescript config file. Is overriden in 'gulpfile.js' 
│   ionic.config.json       <-- Ionic app config

└───bin
│   │   tag_release.sh      <-- Script to help with releases

└───docs
│   │   ...                 <-- Dinamically generated folder, containing the compiled documentation for this repository. generated via the 'docs' npm script

└───src
│   │   ...                 <-- Source code for this repository

└───workdocs                <-- Folder with all pre-compiled documentation
│    │   ...
│    │   Readme.md          <-- Entry point to the README.md   

└───www
     |  ...                 <-- Dinamically generated folder containing the actual code that should go into the loader folder

How does it work?

Upon loading you will be forwared to your wallet screen, similar to a phone, your'll see all your dApps there

How to adapt the form?

TODO

Repository Languages

JavaScript TypeScript NodeJS ShellScript

Social

LinkedIn

Disclaimer:

Disclamer