Status
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