Skip to content

witnet/sheikah

Repository files navigation

Sheikah

Build Status GPLv3 Licensed GitHub contributors Github last commit Crowdin localization

Sheikah is a Witnet compatible desktop wallet and data requests development environment.

Installation

Dependencies

At this time, you have to install the following dependencies to run sheikah:

  • openssl

From Github Releases

Go to releases section and download the binary suitable for your system.

Sheikah Development

This is a Web/Desktop application built with Electron. When developing Sheikah, we support Node CURRENT and LTS+. It might work with another version but we do not guarantee it will do in the future.

Running Sheikah

# clone the repository
git clone git@github.com:witnet/sheikah.git

# cd into the cloned repository
cd sheikah

# install application dependencies
yarn

# launch development application
yarn electron:serve:wallet

Formatter

  • Verify files are correctly formatted with yarn lint
  • Repair lint errors with (this operation modifies your files!) yarn lint!

Test

We use Jest for testing.

# run unit tests
yarn test

Build

Production

To build the application run: yarn electron:build, the build files are written to dist_electron directory.

Contributing

You can read the contributing guide

Github Actions (continuous integration)

When opening a pull request a job in Github Actions will be fired off to check the changes. To avoid wasting time waiting for Github Actions output we provide the command yarn ci that will perform almost the same checks but it'll run in your computer.

Troubleshooting

  • Use yarn clean to remove the contents of the build directory (dist_electron)
  • Use yarn clean-deps to remove all installed dependencies
  • Use yarn reinstall to remove all installed dependencies and install them again

If the application doesn't boot correctly and no error is reported in the terminal, try running yarn reinstall and try again.

Release

Releases are created using action-electron-builder. A new draft release will be publish naming a commit and a tag as v*..