Code Monkey home page Code Monkey logo

nova-spektr's Introduction

Nova Spektr logo

badge GitHub release (latest by date) License
Twitter URL Telegram Medium YouTube

Introduction

What is Nova Spektr

Polkadot & Kusama ecosystem Enterprise Desktop application.

Key features

  1. Hardware wallet (Polkadot Vault) support
  2. Multishard wallet and multishard operations
  3. Show wallet balances for any supported token (assets, ORML, balances)
  4. Token transfer for any supported token (assets, ORML, balances)
  5. Multisig account and transactions with Spektr Matrix Protocol implementation
  6. Relay Chain staking

Changelog

Detailed changelog with releases description is located in the changelog file

Development

Requirements

Minimum version of Node.js is v18.x.

Minimum version of pnpm is v8.x.

Install dependencies

To install all dependencies:

pnpm install

Husky hooks will be installed automatically after installing project dependencies:

"prepare": "husky install"

P.S. don't update pre-commit file to npm githook:pre-commit

Start in production mode

The production run configuration is the same as production build except that the application won't be installed in the operating system and source code hot-reload will be used.

Production configuration uses:

  1. chains.json file for chains configuration
  2. debug tools are disabled by default
  3. errors are handled in a smooth way in order not to interrupt the user

Use the following instructions in order to start application in the production environment with hot-reload:

Electron (desktop) environment - recommended:

pnpm start

Web (browser) environment - not recommended:

pnpm start:renderer

Start in development mode

The dev run configuration shouldn't be used for production. This configuration is only for developing new features and debugging errors.

Development configuration uses:

  1. chains_dev.json file that contains testnets in order to debug and test new features
  2. debug tools are enabled by default
  3. error handling is turned off in order to pay developer's attention to errors

Use the following instructions in order to start application in the dev environment with hot-reload:

Electron (desktop) environment - recommended:

pnpm start:dev

Web (browser) environment - not recommended:

pnpm start:renderer:dev

Project localisation

All the localisation files are stored in the /src/shared/locale folder.

ESlint checks if localisation files are well-formed and valid including:

  1. Valid json formatting
  2. Json files contain the same set of keys
  3. Each key contains the same amount of placeholders for all locales
  4. All tsx files are translated

How to run localisation check

  1. pnpm lint:i18n-locale checks if localization files are well-formed and valid
  2. pnpm lint:i18n-fix fixes the keys sorting order
  3. pnpm lint:i18n-tsx checks if tsx files are translated

How to ignore localisation errors

In some cases there is no need to translate the text, so ESlint ignore rules should be used.

<span className="font-bold">
  {/* eslint-disable-next-line i18next/no-literal-string */}
  {data?.asset.symbol} ({data?.asset.name})
</span>

or

//eslint-disable-next-line i18next/no-literal-string
const qrCodePayload = `substrate:${address}:${wallet.accountId}`;

Production build

To package application for the local platform:

pnpm build
pnpm postbuild
pnpm dist

Troubleshooting

Log files help to solve your problem. Logs are collected in the nova-spektr.log that is located in the folder:

  1. macOS ~/Library/Logs/nova-spektr/nova-spektr.log
  2. Windows %USERPROFILE%\AppData\Roaming\nova-spektr\logs\nova-spektr.log
  3. Linux ~/.config/nova-spektr/logs/nova-spektr.log

Sharing logs when you're contacting the support will speed up the problem fix.

Contributing

Contributing guide is described in the CONTRIBUTING.md

Support

Check the official support channels:

  1. wiki (https://docs.novaspektr.io)
  2. Telegram group
  3. GitHub issues

All issues are being tracked in the Nova Spektr Support project

Feedback

Your feedback is welcome. Use GitHub issues for submitting the feedback. All feedback is being tracked in the Nova Spektr Feedback project

License

Nova Spektr - Polkadot, Kusama enterprise application is available under the Apache 2.0 license. See the LICENSE file for more info. © Novasama Technologies GmbH 2023

nova-spektr's People

Contributors

asmadek avatar tuul-wq avatar stepanlav avatar egor0798 avatar pgolovkin avatar github-actions[bot] avatar sokolova-an avatar tbaut avatar dependabot[bot] avatar leohar avatar overallteach avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.