Getting Started with Tangram’s Cypher Wallet

Tangram
Tangram
Published in
23 min readJun 21, 2019

To be updated: HashiCorp Vault no longer valid during installation.

A Step-by-Step Guide

We have received requests for a simple how-to guide for the Tangram Cypher Wallet, so we have created this guide for beginner users who wish to try out Cypher Wallet.

The terminology used in this tutorial is simplified, and therefore at times may not be technically correct. This is done to make the processes understandable and simple to follow. Follow this guide through in sequence from start to finish to learn how to install and use the Cypher Wallet.

Cypher is the name of the “Command Line Interface” (CLI) program for running the Tangram Light Wallet. A program run on the command line typically offers more advanced options for users but is more difficult to use for people with minimal knowledge of computer systems. This means that the Cypher Wallet is not very intuitive at this stage of development, however a simpler to use “Graphical User Interface” (GUI) wallet will be created after main-net.

Because the Cypher Wallet is being updated continually, minor parts of this guide will likely become inaccurate fairly quickly. If you find any missing or incorrect information or other ambiguities, please let one of the Tangram team know, and we will do our best to rectify it.

Note: the Cypher wallet is available for Windows, Mac, and Linux, however it was not felt to be necessary to include Linux in this guide. For Linux users; go here.

Download and Install the Cypher Wallet

Prerequisites

For the Tangram Cypher Wallet to work correctly on your computer, you must have “Git” installed, and “.NET Core 2.2 SDK”. You may install these with the default options selected if you wish.

The official downloads for these prerequisites are linked below:

Windows:

macOS:

Once the prerequisites have been installed successfully, you may begin installing the Cypher wallet.

Installation Step 1

Windows:

Press the Windows + R keys to open the “Run” dialog box.

Type cmd into the Run dialog box, and then click the OK button.

This will open a regular Command Prompt window.

Mac:

Press the Command + Space keys to open Spotlight Search.

Type terminal and press the Enter key.

This will launch the “Terminal” App, which should look similar to this:

Installation Step 2

Copy the following text, paste it into your Terminal / Command Prompt, and press the Enter key:

git clone https://github.com/tangramproject/Cypher

This will start the process of downloading the Cypher Wallet from Github. Depending on your computer and connection, it may take a couple of minutes or more to finish.

The download process should look similar to this:

Installation Step 3

Once the download process has finished, type cd Cypher and press the Enter key.

This command navigates to the Cypher folder containing the Cypher Wallet.

You should see something similar to this:

Notice that after your username is now the word “Cypher”. This means that you have successfully navigated to the “Cypher” folder.

Type dotnet publish -c release and then press the Enter key.

This command will build and ‘install’ the Cypher Wallet for you — expect around a minute for it to complete.

You should see something similar to this:

Installation Step 4

Mac:

Type cd bin/Release/netcoreapp2.2/publish and then press the Enter key.

This command navigates to the “publish” folder in the Cypher Wallet for macOS.

Windows:

Type cd bin\Release\netcoreapp2.2\publish and then press the Enter key.

This command navigates to the “publish” folder in the Cypher Wallet for Windows.

Mac & Windows:

Type dotnet Cypher.dll and then press the Enter key.

This command launches the Cypher Wallet for the first time.

You will see a series of events occur as the program launches, and then a note that the program was “Unable to find Vault executable”. This should automatically start the download of Hashicorp’s Vault and once downloaded, it will attempt to start the Vault service. Note; this process will fail on macOS, because the file needs to be given the correct permissions before it can run.

Windows users, skip the next step and proceed to Step 6.

Installation Step 5 (Mac Only)

Mac:

Once you see the following error, type exit and press the Enter key.

Type chmod +x vault and then press the Enter key.

This command gives the Cypher Wallet Vault file permission to be an executable program.

Type dotnet Cypher.dll and then press the Enter key.

This command relaunches the Cypher Wallet.

The process should look like this:

Installation Step 6

If the Cypher Wallet starts successfully, you will see several lines of text appearing, with the phrase “Starting Onion Service” amongst them.

Because this is the first time that you have run the Cypher Wallet, you will see a block of red text which looks like this:

ENSURE YOU COPY THE FOUR KEYS DISPLAYED AND PASTE THEM TO A SAFE AND SECURE PLACE.

NOTE: This message will only appear ONCE, on the first time you run the Cypher Wallet.

Once the Cypher Wallet application has loaded, you will see a message “Vault is currently sealed. Please type vault unseal to begin unsealing the vault.”

You should see something similar to this:

Notice you now see tangram$ - this means that you are now operating within the Cypher Wallet application.

✅ Congratulations! You have now installed the Tangram Cypher Wallet.

From here you may either exit the Cypher Wallet or proceed to unseal your Vault.

Launch the Cypher Wallet

Follow this process every time you wish to access the Cypher Wallet.

The Cypher Wallet is the application which you use to connect to the Tangram network (test-net only at this stage). Within this application, you can access your Vault, manage your TGM, and run various commands.

Within your ‘Vault,’ you may have as many ‘Wallets’ as you like — these are where all your TGM are stored. Each Wallet may have as many addresses as you want; these are only used to transfer TGM into a Wallet.

To send or receive TGM, the Cypher Wallet application must be running, and your Vault must be unsealed. If you quit your Terminal/Command prompt, your Vault will automatically reseal, and the Cypher Wallet application will quit.

Prerequisites:

For macOS, your Terminal should look something like this:

For Windows, your Command Prompt should look something like this:

Wallet Launch Step 1

Mac:

Type cd Cypher/bin/Release/netcoreapp2.2/publish and then press the Enter key.

Windows:

Type cd Cypher\bin\Release\netcoreapp2.2\publish and then press the Enter key.

Wallet Launch Step 2

Type dotnet Cypher.dll and then press the Enter key.

If the Cypher Wallet starts successfully, you will see several lines of text appearing, with the phrase “Starting Onion Service” amongst them.

Once the Cypher Wallet application has loaded, you will see a message “Vault is currently sealed. Please type ‘vault unseal’ to begin unsealing the vault.”

You should see something similar to this:

Notice you now see tangram$ - this means that you are now operating within the Cypher Wallet application.

Unseal Your Vault

To send or receive TGM, the Cypher Wallet application must be running, and your Vault must be unsealed. If you quit your Terminal/Command prompt, your Vault will automatically reseal, and the Cypher Wallet application will quit.

Prerequisites:

Your Terminal/Command prompt should look something like this:

Type vault unseal and then press the Enter key.

This command unlocks your Vault, and allows access to your Cypher Wallet.

Next, you will see a prompt asking for your Vault Key:

Copy and paste any one of your four Vault Keys and then press the Enter key.

Example of what your Vault Key should look like: a95ac3ec92fcef0e2651f2386ea522ceb547afee253a560bc2dd8dfd5404e7ee7f

✅ Your Cypher Wallet is now running, and your Vault is unsealed.

If you type help and then press the Enter key, a list of available commands will display.

These commands can be run whenever you see tangram$

Create a Wallet ID

Use this process to create a new wallet for storing TGM.

A ‘Wallet Identifier’ (Wallet ID) is a string of characters which identify a particular Wallet within your Vault. Think of it like creating an account with a bank, except you’re creating an account (referred to as a “Wallet”) within your Vault, which you own and control.

A Wallet stores your TGM, and the Wallet ID is what you use to identify which wallet you wish to view, change, receive or send from.

Prerequisites:

Your Terminal/Command prompt should look something like this:

Type wallet create and then press the Enter key.

This command creates a new Wallet within your Vault.

✅ Next, you will see your new Wallet Identifier and password displayed.

You will see something similar to this:

Ensure you copy your new Wallet ID and password and save them to a safe and secure place.

Display Wallet IDs

Use this process to view a list of your Wallets.

A ‘Wallet Identifier’ (Wallet ID) is a string of characters which identify a particular Wallet within your Vault.

A Wallet stores your TGM, and the Wallet ID is what you use to identify which wallet you wish to view, change, receive or send from.

Prerequisites:

Type wallet list wallet list and then press the Enter key.

This command displays a list of the Wallets ID in your Vault.

✅ Next, you will see a list of all Wallet Identifiers held within your Vault.

You will see something similar to this:

If you created more than one Wallet ID, they will all be listed, and you will see something similar to this:

Display Addresses Associated with a Wallet ID

Use this process to view a list of Addresses associated with one of your Wallets.

Addresses in Tangram are not like addresses in Bitcoin, where the address you give people to send BTC to your Bitcoin wallet is the public half of your private/public keypair. In Tangram, addresses are still a key pair, and they are connected to a wallet, but only to enable you or other people to send TGM to your wallet. A Tangram address is just a relay: it doesn’t connect to information about amounts, accounts, or transactions like Bitcoin does. This means that only you can see your balance, and what transactions you made — a random stranger cannot just look up your address on a block explorer and browse your transaction history.

Prerequisites:

Type wallet get and then press the Enter key.

This command displays a list of Addresses for a Wallet.

Next, you will see a prompt asking for your Identifier.

Example of what your wallet ID should look like: id_b137dc5ef0c84f207374c7dd21b49a66

Type or paste your wallet ID and then press the Enter key.

Next, you will see a prompt asking for your password.

Example of password: a brand has swarmed a trilogy because of the snake

Note: include the spaces when entering your password.

Type or paste your password and then press the Enter key.

✅ All Addresses for this Wallet Identifier will then be listed.

You will see something similar to this:

If you created more than one Address for the Wallet ID, they will all be listed, and you will see something similar to this:

Create Addresses Associated with a Wallet ID

Use this process to add an Address to a Wallet.

You may add as many addresses as you wish to a wallet.

Prerequisites:

Type wallet key and then press the Enter key.

This command adds another Address to a Wallet. The reason the command is “wallet key”, is because an Address is the Public half of a Public-Private key pair.

Next, you will see a prompt asking for your Identifier.

Type or paste your wallet ID and then press the Enter key.

Next, you will see a prompt asking for your password.

Type or paste your password and then press the Enter key.

Next, you will see this:

✅ A new wallet key set has now been added, which contains a new address for the Wallet ID entered.

To view this new Address, follow the process for “Display Addresses Associated with a Wallet ID”.

View Wallet Balance

Use this process to view how many TGM you have in a Wallet.

Remember, your TGM is stored in each Wallet within your Vault; they aren’t stored in ‘addresses’ like Bitcoin. If you have multiple Wallets within your Vault, you can view the balance of each Wallet by running this command using each different Wallet ID.

Prerequisites:

Type wallet balance and then press the Enter key.

This command displays how much TGM is in a Wallet.

Next, you will see a prompt asking for your Identifier.

Type or paste your Wallet ID and then press the Enter key.

Next, you will see a prompt asking for your password.

Type or paste your password and then press the Enter key.

✅ Your wallet balance will display.

You will see something similar to this:

If this is the first time you have run this command, chances are you have no TGM yet, so your wallet balance will be “0”. If you would like to make this number greater than zero, message any of the Community managers or core team in the #cli-testnet channel on Discord, and you will receive some test-net TGM.

Check if Tor is Running (Bootstrapped)

Use this command to verify whether your Cypher Wallet is fully bootstrapped to the Tor network.

To send and/or receive TGM, the Cypher Wallet needs to be 100% bootstrapped to Tor’s network.

Prerequisites:

  1. Type tor running and press the Enter key.

You should see the following message:

Tor is bootstrapped

✅ Tor has successfully been bootstrapped to the network and you can send and receive TGM.

However if you receive the following message, this means that Tor has not yet bootstrapped to the network:

Tor connecting to network

Receive Via Message Pool

Use this process to receive TGM into your Wallet via an online transaction over the Tangram network.

There are two ways to receive TGM:

  • Via Message Pool (online transaction), and;
  • Via Redemption Key (offline transaction).

Transactions taking place via the “Message Pool” are comparable to a ‘normal’ online transfer with other cryptocurrencies, where the transaction takes place in its entirety on the network.

Prerequisites:

Type wallet receive and then press the Enter key.

Next, you will see a prompt asking for your Identifier.

Type or paste your Wallet ID and then press the Enter key.

Next, you will see a prompt asking for your password.

Type or paste your password and then press the Enter key.

Next, you will see a prompt asking for your Address.

This is your Address which TGM has been sent to.

Example of what your Address should look like: PDTnL8f3gTb5oMhcs4pnrUwVxuEicwypMjSmaNUq7kvvt

Type or paste your Address and then press the Enter key.

A progress description will then display, informing you of the receiving steps as they occur. The process should look like this:

Once the receive is finished, you will see something similar to this:

The amount received and the total now available in that wallet are both displayed.

✅ The TGM sent to your address has now been accepted into your wallet.

If a “Memo” (a note) has been sent with a transaction, you can view it by following the process “View Transaction History”.

Receive Via Redemption Key

Use this process to receive TGM into your Wallet via an offline transaction.

There are two ways to receive TGM:

  • Via Message Pool (online transaction), and;
  • Via Redemption Key (offline transaction).

Transactions taking place via a “Redemption Key” are effectively an ‘offline’ transaction. The sender generates either a file, a text block, or a link, and sends it to the receiver via any medium they wish, e.g. Signal, Telegram, email, SMS, encrypted message, etc. The receiver then enters this information into their Cypher Wallet to receive the TGM sent.

Prerequisites:

Type wallet cypher and then press the Enter key.

Next, you will see a prompt asking for your Identifier.

Type or paste your Wallet ID and then press the Enter key.

Next, you will see a prompt asking for your password.

Type or paste your password and then press the Enter key.

Next, you will see a prompt asking for your Address.

This is your Address which TGM has been sent to.

Type or paste your Address and then press the Enter key.

Next, you will see a list of two options; “Local file” or “Web”, with a prompt to select one option.

If the sender has sent you either a block of text or a file containing the Redemption Key, then follow the process below titled “Receive Via Local File”.

If the sender has sent you a Web link to a file containing a Redemption Key (generally with the file extension “.rdkey”), then follow the process below titled “Receive Via Web Link”.

Receive Via Local File

To receive TGM using a local Redemption Key file, select option 1 by typing 1 and pressing the Enter key.

Next, you will see a prompt asking for the file path to the location of the file on your computer.

Example of what your file path should look like: \Users\us\Desktop\redem200990024.rdkey or /Users/me/Downloads/Payment_2_from_bob.txt

Note: If the sender has sent the Redemption Key as a block of text, you must save it to a Plain Text file with no spaces in the file name, and use the file extension of “.rdkey” or “.txt” for the Cypher Wallet to accept it as valid.

Type or paste the file path to the location of the file containing the Redemption Key, and press the Enter key.

Next, you should see the message “success: true”, followed by details of the transaction.

✅ The TGM sent to your address has now been accepted into your wallet.

If a “Memo” (a note) has been sent with a transaction, you can view it by following the process “View Transaction History”.

Receive Via Web Link

To receive TGM using an online link to a file containing a Redemption Key, select option 2 by typing 2 and pressing the Enter key.

Next, you will see a prompt asking for the address of the file containing the Redemption Key online.

Example of what an address file path should look like: https://cdn.discordapp.com/attachments/419886193841537027/585033353246277634/redem1296153852.rdkey

Type or paste the address and press the Enter key.

Next, you should see the message “sucess: true”, followed by details of the transaction.

✅ The TGM sent to your address has now been accepted into your wallet.

If a “Memo” (a note) has been sent with a transaction, you can view it by following the process “View Transaction History”.

Send TGM

Use this process to send TGM to another Wallet.

There are two ways to send TGM:

  • Via Message Pool (online transaction), and;
  • Via Redemption Key (offline transaction).

Transactions taking place via the “Message Pool” are comparable to a ‘normal’ online transfer with other cryptocurrencies, where the transaction takes place in its entirety on the network.

Transactions taking place via a “Redemption Key” are effectively an ‘offline’ transaction. The sender generates either a file, a text block, or a link, and sends it to the receiver via any medium they wish, e.g. Signal, Telegram, email, SMS, encrypted message, etc. The receiver then enters this information into their Cypher Wallet to receive the TGM sent.

If you would like some test-net TGM, message any of the Community managers or core team in the #cli-testnet channel on Discord.

Prerequisites:

Type wallet send and then press the Enter key.

Next, you will see a prompt asking for your Identifier.

Type or paste your Wallet ID and then press the Enter key.

Next, you will see a prompt asking for your password.

Type or paste your password and then press the Enter key.

Next, you will see the prompt “To”.

This is where you enter the Address you want to send TGM to.

Type or paste the Address you want to send to, and then press the Enter key.

Next, you will see a prompt asking for the amount you wish to send.

Type the amount of TGM you want to send and then press the Enter key.

Next, you will see the prompt “Memo”.

If you wish to send a message with your transaction, you may enter up to 64 characters here in the Memo field. This field is optional and you may press the Enter key if you do not wish to send a message with your transaction.

Either press the Enter key to skip, or type your message and then press the Enter key.

Next, you will see a prompt asking whether you wish to send the transaction Redemption Key to the Message Pool or not.

If you wish to complete the transaction ‘normally’, follow the process below titled “Send Via Message Pool”.

If you wish to complete the transaction ‘offline’ i.e. outside the Tangram network, then follow the process below titled “Send Via Redemption Key”.

Send Via Message Pool

To send TGM normally via the Tangram network, type y and press the Enter key.

A progress description will then display, informing you of the sending steps as they occur. The whole process should look like this:

Next, you should see the message “Available Balance”, followed by the remaining balance in your Wallet.

✅ The TGM you have sent has now been allocated to the receiver, ready for them to accept the payment into their wallet.

Send Via Redemption Key

To send TGM offline via a medium other than the Tangram network (e.g. Telegram), type n and press the Enter key.

Next, you will see a list of two options; “Save redemption key to file” or “Copy redemption key from console”, with a prompt to select one option.

If you wish to complete the ‘offline’ transaction by automatically generating a file containing the Redemption Key, follow the process below titled “Save Redemption Key to File”.

If you wish to complete the ‘offline’ transaction by manually copying the Redemption Key, follow the process below titled “Copy Redemption Key from Console”.

Save Redemption Key to File

To automatically generate a file containing the Redemption Key for the TGM you want to send, type 1 and press the Enter key.

Next, you will see a message showing the file path which the Redemption Key file has been saved to.

Navigate to the location where the .rdkey file has been saved, and then send the .rdkey file to the TGM receiver via a medium of your choice (e.g. Telegram, email, etc.).

✅ The TGM you have sent has now been allocated to the receiver, ready for them to accept the payment into their wallet.

The whole process should look like this:

Copy Redemption Key from Console

To manually copy the Redemption Key for the TGM you want to send, type 2 and press the Enter key.

Next, you will see the Redemption Key text, beginning with the header “Begin Redemption Key”, and ending with the footer “End Redemption Key”.

Copy all of the text, including the header line “Begin Redemption Key”, and the footer line “End Redemption Key”, and send the text to the TGM receiver via a medium of your choice (e.g. Telegram, email, etc.).

✅ The TGM you have sent has now been allocated to the receiver, ready for them to accept the payment into their wallet.

Note: The receiver must save the Redemption Key text to a Plain Text file with no spaces in the file name, and use the file extension of “.rdkey” or “.txt” for the Cypher Wallet to accept the file as valid during the Receive Via Local File process.

The whole process should look like this:

View Transaction History

Use this process to view the transaction history of a Wallet.

Remember, TGM is held in a Wallet, not an Address. This is why a transaction history is showed for a Wallet, and addresses do not feature in the resulting list.

Prerequisites:

Type wallet transactions and then press the Enter key.

This command will display all the transactions for a particular Wallet ID.

Next, you will see a prompt asking for your Identifier.

Type or paste your Wallet ID and then press the Enter key.

Next, you will see a prompt asking for your password.

Type or paste your password and then press the Enter key.

✅ Next, you will see a list displaying details of all the transactions for the Wallet ID you have entered.

You will see something similar to this:

Details included are Amount, Memos, the Transaction Type, the Date and Time, and the Transaction Hash.

Also notice that there is a “Count” at the bottom after the list; this is the number of transactions which have been made for the Wallet ID you have entered.

Exit the Tangram Cypher Wallet

Use this process to seal your Vault and close the Tangram Cypher Wallet.

Prerequisites:

Type exit and then press the Enter key.

This command will seal your Vault and exit the Tangram Cypher Wallet.

✅ You may now close your Terminal/Command Prompt.

Note that if you close the Terminal/Command Prompt without following this process, your Vault will be automatically sealed as a ‘fail-safe’ for security.

Update Cypher Wallet

Use this process to update the Tangram Cypher Wallet.

We recommend updating the Cypher Wallet frequently, as it is undergoing continuous development.

Prerequisites:

Your Terminal/Command prompt should look something like this:

Type cd Cypher and then press the Enter key.

This command navigates to the Cypher folder of the Cypher Wallet.

Type git pull and then press the Enter key.

This command ‘pulls’ the latest code from Github to update the Cypher Wallet.

If there is any updates available, you will see a process similar to the following:

Once the update process is completed, type dotnet publish -c release and then press the Enter key.

This command will rebuild the Cypher Wallet for you — expect around a minute for it to complete.

✅ The Cypher Wallet is now up to date.

Type cd and then press the Enter key.

This command exits the Cypher folder.

Uninstall Cypher Wallet

To uninstall the Tangram Cypher Wallet, you simply need to delete the “Cypher” folder from your Computer.

Note: This folder contains everything, including your Vault, so be aware that you will lose all your (worthless :) test-net TGM.

Prerequisites:

Mac:

Open a new Finder window, and press Command + Shift + G

This will open a drop-down box with the title “Go to the folder:” Type ~ and press Enter

This will navigate to your User folder. Within your User folder, select the folder named Cypher and press Command + Option + Delete

At the dialog box asking if you would like to delete the folder, click the Delete button.

✅ The Cypher Wallet has now been removed from your Mac.

Windows:

Navigate to C:\Users\YOUR_USER_NAME_HERE

Note: the text YOUR_USER_NAME_HERE is the name of your User folder on your computer, e.g. “Johnsmith”.

Select the folder named Cypher and press Command + Option + Delete

At the dialog box asking if you would like to delete the folder permanently, click the Yes button.

✅ The Cypher Wallet has now been removed from your Windows computer.

Done!

And that’s it! You now know how to use Tangram’s Command Line Interface Cypher Wallet. Feel free to refer back to this guide as much as you need and comment down below or leave feedback in any of the channels. 👍

Go back to top

If you have questions, feedback, or need more help:

Visit our website: www.tangrams.io

Read our blog: www.medium.com/@tangramd

Subscribe on Reddit: www.reddit.com/r/Tangrams

Discover us on Discord: www.discord.tangrams.io

Message us on Telegram: https://t.me/Tangrams

Follow us on Twitter: www.twitter.com/tangram

Watch on YouTube: https://www.youtube.com/channel/UCoe5hPG_zjltaG_j2n1Oh4Q

Email: info@getsneak.org

--

--

Tangram
Tangram

Tangram was created with a singular vision: to inspire, mobilize and empower a new generation of cypherpunks.