Introduction
What is Nova Spektr
Polkadot & Kusama ecosystem Enterprise Desktop application.
Key features
- Hardware wallet (Polkadot Vault) support
- Multishard wallet and multishard operations
- Show wallet balances for any supported token (assets, ORML, balances)
- Token transfer for any supported token (assets, ORML, balances)
- Multisig account and transactions with Spektr Matrix Protocol implementation
- Relay Chain staking
Changelog
Detailed changelog with releases description is located in the changelog file
Development
Requirements
Minimum version of Node.js
is v16.x
.
Minimum version of pnpm
is v7.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:
chains.json
file for chains configuration- debug tools are disabled by default
- 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:
chains_dev.json
file that contains testnets in order to debug and test new features- debug tools are enabled by default
- 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:
- Valid json formatting
- Json files contain the same set of keys
- Each key contains the same amount of placeholders for all locales
- All
tsx
files are translated
How to run localisation check
pnpm lint:i18n-locale
checks if localization files are well-formed and validpnpm lint:i18n-fix
fixes the keys sorting orderpnpm lint:i18n-tsx
checks iftsx
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:
- macOS
~/Library/Logs/nova-spektr/nova-spektr.log
- Windows
%USERPROFILE%\AppData\Roaming\nova-spektr\logs\nova-spektr.log
- 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:
- wiki (https://docs.novaspektr.io)
- Telegram group
- 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