# Create an Account

An address is the public part of a GeekCash account. The private part is the key used to access this address. The public and private part together make up a GeekCash account. To interact with GeekCash chain create such as creating basic transactions and various operation, you need to create an account.

# Storing your key safely

The seed is your key to the account. Knowing the seed allows you, or anyone else who knows the seed, to re-generate and control this account.

It is imperative to store the seed somewhere safe, secret, and secure. If you lose access to your account (i.e. you forget the password for your account's JSON file), you can re-create it by entering the seed. This also means that somebody else can have control over your account if they have access to your seed.

For maximum security, the seed should be written down on paper or another non-digital device and stored in a safe place. You may also want to protect your seed from physical damage, as well (e.g. by storing in a sealed plastic bag to prevent water damage, storing it in a fireproof safe, etching it in metal, etc.) It is recommended that you store multiple copies of the seed in geographically separate locations (e.g., one in your home safe and one in a safety deposit box at your bank).

You should definitely not store your seed on any kind of computer that has or may have access to the internet in the future.

# Storing your account's JSON file

The JSON file is encrypted with a password, which means you can import it into any wallet which supports JSON imports, but to then use it, you need the password. You don't have to be as careful with your JSON file's storage as you would with your seed (i.e. it can be on a USB drive near you), but remember that in this case your account is only as secure as the password you used to encrypt it. Do not use easy to guess or hard to remember passwords. It is good practice to use a mnemonic password of four to five words. These are nearly impossible for computers to guess due to the number of combinations possible, but much easier for humans to remember.

# Polkadot{.js} Browser Plugin

The Polkadot{.js} plugin provides a reasonable balance of security and usability. It provides a separate local mechanism to generate your address and interact with Polkadot. This method involves installing the Polkadot{.js} plugin and using it as a “virtual vault," separate from your browser, to store your private keys. It also allows signing of transactions and similar functionality.

It is still running on the same computer you use to connected to the internet with and thus is less secure than using Parity Signer or other air-gapped approaches.

# Install the Browser Plugin

The browser plugin is available for both Google Chrome (opens new window) (and Chromium based browsers like Opera, Brave) and FireFox (opens new window).

If you would like to know more or review the code of the plugin yourself, you can visit the Github source repository (opens new window).

After installing the plugin, you should see the orange and white Polkadot{.js} logo in the menu bar of your browser.

Install the Browser Plugin

# Create Account

Open the Polkadot{.js} browser extension by clicking the logo on the top bar of your browser. You will see a browser popup not unlike the one below.

Create Account

Click the big plus button or select "Create new account" from the small plus icon in the top right. The Polkadot{.js} plugin will then use system randomness to make a new seed for you and display it to you in the form of twelve words.

Create Account

You should back up these words as explained above. It is imperative to store the seed somewhere safe, secret, and secure. If you cannot access your account via Polkadot{.js} for some reason, you can re-enter your seed through the "Add account menu" by selecting "Import account from pre-existing seed".

Create Account

# Name Account

The account name is arbitrary and for your use only. It is not stored on the blockchain and will not be visible to other users who look at your address via a block explorer. If you're juggling multiple accounts, it helps to make this as descriptive and detailed as needed.

# Enter Password

The password will be used to encrypt this account's information. You will need to re-enter it when using the account for any kind of outgoing transaction or when using it to cryptographically sign a message.

Note that this password does NOT protect your seed phrase. If someone knows the twelve words in your mnemonic seed, they still have control over your account even if they do not know the password.

# Set Address format for GeekCash

Now we will ensure that the addresses are displayed as GeekCash mainnet addresses. Click on "Options" at the top of the plugin window, and under "Display address format for" select "GeekCash".

Set Address format for GeekCash

# Subkey

Subkey is recommended for technically advanced users who are comfortable with the command line and compiling Rust code. Subkey allows you to generate keys on any device that can compile the code. Subkey may also be useful for automated account generation using an air-gapped device. It is not recommended for general users.

You can find detailed build and usage instructions of subkey (opens new window)

Use an generated account's secret phrase or secret seed, you can find out your GeekCash's address by running this command:

subkey inspect "YOUR_SECRET_PHRASE_OR_SECRET_SEED" -n geek

Let's take a look at the example below, first we generate a Kusama account, using that account, we can find out GeekCash's address:

subkey generate

Secret phrase `wise spirit proof frame replace slot barely scorpion awesome slender vehicle tragic` is account:
  Secret seed:      0x39a12cfdabf457a33a61aeef2878fd08fc3a5bd6f0baaa3d05a89ebab704672c
  Public key (hex): 0xb2f058a9109b934f779d56d527ec8ae2c078dda9d229b24b4d70ff6267fef66a
  Account ID:       0xb2f058a9109b934f779d56d527ec8ae2c078dda9d229b24b4d70ff6267fef66a
  SS58 Address:     5G7Kn6q1We5K132PNVfgRkR3d1oyKNxXnryVmnXPxN19SrRv

Let's inspect secret phrase first using GeekCash's network ID:

subkey inspect "wise spirit proof frame replace slot barely scorpion awesome slender vehicle tragic" -n geek

Secret phrase `wise spirit proof frame replace slot barely scorpion awesome slender vehicle tragic` is account:
  Secret seed:      0x39a12cfdabf457a33a61aeef2878fd08fc3a5bd6f0baaa3d05a89ebab704672c
  Public key (hex): 0xb2f058a9109b934f779d56d527ec8ae2c078dda9d229b24b4d70ff6267fef66a
  Account ID:       0xb2f058a9109b934f779d56d527ec8ae2c078dda9d229b24b4d70ff6267fef66a
  SS58 Address:     2y19qHNjfwxbQgiiYFS8k2JGkrXD4AUZTEEUd4jUJhKvyavD

Note: Network ID/version in the output above is set to geek

You will see last line SS58 Address is your account address in GeekCash Network, which is 2y19qHNjfwxbQgiiYFS8k2JGkrXD4AUZTEEUd4jUJhKvyavD. Next let's inpsect secret seed when generating Substrate account, that should display the same account address:

subkey inspect "0x39a12cfdabf457a33a61aeef2878fd08fc3a5bd6f0baaa3d05a89ebab704672c" -n geek

Secret Key URI `0x39a12cfdabf457a33a61aeef2878fd08fc3a5bd6f0baaa3d05a89ebab704672c` is account:
  Secret seed:      0x39a12cfdabf457a33a61aeef2878fd08fc3a5bd6f0baaa3d05a89ebab704672c
  Public key (hex): 0xb2f058a9109b934f779d56d527ec8ae2c078dda9d229b24b4d70ff6267fef66a
  Account ID:       0xb2f058a9109b934f779d56d527ec8ae2c078dda9d229b24b4d70ff6267fef66a
  SS58 Address:     2y19qHNjfwxbQgiiYFS8k2JGkrXD4AUZTEEUd4jUJhKvyavD