Sheikah is a Witnet compatible desktop wallet, data requests and smart contracts development environment.
Sheikah is still a Technology Preview. If you run it, you will find:
- Features that work: wallets creation, seed phrase export, addresses generation and addresses listing.
- Features that are partially implemented: transactions listing, data requests listing and smart contracts listing.
- Features that are mocked for demo purposes: data requests editor, smart contracts editor, Sheikah Marketplace.
- Features that are still missing: data requests deployment, smart contracts deployment and selection of full node to use as backend.
All of these features will be made available along the first Witnet testnet during 2019 Q1.
From Github Releases
Go to releases section and download the binary suitable for your system.
To install from source follow this instructions in a terminal:
git clone https://github.com/witnet/sheikah.git cd sheikah yarn yarn package
Then, copy the appropriate binary written in
release directory. Just click the file to open Sheikah.
We are using Electron Log library and we log to both, console and the file in the following location:
- on Linux:
- on MacOS:
- on Windows:
When running in development the log level is set to debug, debug, info, warn, and error messages will be logger.
When running in production the log level is set to warn, only warn and error messages will be logged.
For developing we recommend you use yarn instead of npm.
When developing Sheikah, we support Node versions: 8, 9 and 10. It might work with another version but we do not guarantee it will do in the future.
# clone the repository git clone firstname.lastname@example.org:witnet/sheikah.git # cd into the cloned repository cd sheikah # install application dependencies yarn # launch development application yarn electron:serve
- Verify files are correctly formatted with
- Repair lint errors with (this operation modifies your files!)
# run unit/integration tests yarn test # run end-to-end tests yarn test:e2e # run unit tests yarn test:unit
To run specific tests you can use jest directly:
# run test specified with a pattern or filename yarn jest my-test #or yarn jest path/to/my-test.js # run tests related to changed files based on hg/git (uncommitted files) yarn jest -o # run tests related to path/to/fileA.js and path/to/fileB.js yarn jest --findRelatedTests path/to/fileA.js path/to/fileB.js # run tests that match this spec name (match against the name in describe or test, basically). yarn jest -t name-of-spec # run tests in watch mode yarn jest --watch #runs jest -o by default yarn jest --watchAll #runs all tests
To build the application run:
yarn electron:build, the build files are written to
You can read the contributing guide
Travis (continuous integration)
When opening a pull request a job in Travis will be fired off to check the changes. To avoid wasting time waiting for Travis output we provide the command
yarn travis that will perform almost the same checks but it'll run in your computer.
yarn cleanto remove the contents of the build directory (
yarn clean-depsto remove all installed dependencies
yarn reinstallto 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.