How to use Sheikah as a WIT wallet

Rokowski
The Witnet Oracle Blog
6 min readNov 22, 2022

Store your WIT coins or create oracle queries that can be sent to the Witnet network.

What is Sheikah?

Being a layer one blockchain, Witnet isn’t afforded the same luxuries when it comes to some ecosystem tooling. EVM compatible chains are able to easily be added to MetaMask by inputting a few key pieces of information. This means Witnet had to internally develop it’s own tools.

Sheikah is the Witnet wallet that allows for storage of the WIT coin and creation of data requests. Within this article, we are going to break down how to set up a Sheikah wallet and store WIT. The next article will focus on creating data requests using Sheikah.

Additionally, Witnet is going to be launching a light wallet in February of 2023.

As a wallet

For newcomers to the Witnet ecosystem, since Witnet is a layer one blockchain it requires its own native coin, the WIT coin. Just like how Ethereum is a layer one and requires Ether to operate.

Our first step in order to securely store our WIT is to download the wallet.

After Sheikah downloads you will be shown this page:

Of course if this is your first time using Sheikah you want to hit “create a new Witnet wallet.”

After you read the disclaimer carefully, you can hit the bottom to continue. As with just about every digital asset wallet available, you will get 12 words. This wallet is compatible with BIP39, the proposal that introduce seed phrases into Bitcoin private keys. Make sure you write this phrase down on a physical piece of paper! This is both security and in order to move on to the next step.

You then need to confirm your seed phrase. You will not be able to move on with the creation of the wallet without doing this correctly. Once this has been successfully done you will be able to give your wallet a name and description.

Once everything has been completed you should be looking at a page like this.

Once in the home screen you should see the words “synced” in green. This means your wallet is up to date with the blockchain. Under the hood of Sheikah is similar to many other wallet applications. It works by connecting to a public node to download the blockchain at various points. By receiving the “synced” message, it means that the node you’re connected to is working properly.

Now if you have created a new Witnet wallet and you want to store some WIT, lets quickly run through how to do it.

On the main wallet home page you can receive some WIT by generating a new wallet address. Remember, Witnet uses the same method of transactions that Bitcoin uses. This is called Unspent Transaction Output (UTXO). It is a method of accounting to maintain and organize the ledger and prevent double spends. There are millions of public addresses tied to a private key, and every time you attempt to receive a transaction you get a unique address. This allows for extended privacy and increased difficulty following transactions. Of course utilizing previous addresses is possible, but it reduces privacy.

After everything has been set up, it is best practice to export and encrypt your xprv file. It works similar to importing your private key. If you got a new computer you could just import this file and negate the 12 words. It is best practice to safely store both. This is an optional step but can help guarantee safety in storing WIT.

Creating and restoring backups

To do this, we are going to go to the bottom left corner and hover over the log out button. The settings logo should appear. Once in the settings UI click on “Wallet”. The encrypt and export option is the first one on the page.

Input a new password and confirm it. THIS WILL BE REQUIRED TO IMPORT YOUR WALLET. However, you CAN use the same password you created to set up your Sheikah wallet a few steps ago.

A save to folder icon should open and give you the option to choose where to save the file. Once the file is safely stored you are all set to go! If you ever need to import your wallet to a new computer you now have two options. Just go back to the home page and choose what option you want to execute the import.

Troubleshooting

Let’s now talk about some potential issues we may encounter when using Sheikah.

“Sheikah times out really quickly, is there a setting to change this?”

Sheikah actually syncs in the background even after you get the closure notification. In an upcoming release, users will be able to play around with their settings to change this timeout.

“Sheikah “wallet backend node needs a restart”, it won’t sync.”

There was an issue a little while ago that caused some public nodes to go out of sync and there would be a “node disconnected” error. Users were instructed to quit and reopen the application to reconnect to a different IP. Sheikah now reconnects to one of the three different public IPs automatically, as of the latest release.

“It’s been a while since I opened Sheikah and I keep getting a sync error”

Make sure you have your wallet backup via xprv or seed phrase. The simple fix that tends to work over 95% of the time is to just restart your computer. If that doesn’t work, follow these steps:

  1. Delete Sheikah from your computer.
  2. Delete these files
    macOS: ~/Desktop/.sheikah
    Linux: ~/.sheikah
    Windows: C:\Users\user\.sheikah

Redownload Sheikah and import your backup.

If you continue to experience the same issue, try deleting these files as well:

macOS:

~/Desktop/.sheikah
~/Library/Application\Support/witnet.witnet/
~/Library/Application\Support/Sheikah\Witnet\wallet/
~/.sheikah
~/.local/share/witnet/witnet_wallet.db

Linux:

~/.sheikah  ~/.local/share/witnet/witnet_wallet.db

Windows:

C:\Users\user\.sheikah  
C:\users\{YOUR_USERNAME}\AppData\Local\witnet

Can I import my private key from my Witnet node into Sheikah? I’ve seen that it is the same format but not encrypted by password. I get an “import fail” message if I try with JSON prv key from my node.

Sheikah is BIP32-compliant. The node uses its master key for signing transactions but there is no derivation path. A node private key cannot be imported into Sheikah. To get your WIT onto your Sheikah from your node you must send it as a value transfer transaction.

However, there is a mechanism to send a portion of the block reward you node mines to Sheikah. To do this, you must set mint_external_address and mint_external_percentage in the witnet.toml file.

Quite honestly, Sheikah is a well designed and maintained application.

Sheikah is updated quite often to release new features and if needed, fix any bugs. At the time of this writing, Sheikah is on version 1.11.4. On average, Witnet releases an update for Sheikah every 3 to 4 months. Take a look at the Sheikah source code here.

Of course there are always things that can happen and require more troubleshooting. When these issues come up it is always good to join our Discord to resolve the issue with the Witnet team directly. We have a channel called #-sheikah that deals with wallet issues directly.

Connect with Witnet:

Website | GitHub | Twitter | Discord | Telegram | Reddit | YouTube

--

--