New account

The Unix example allows you to create a new random account.

Create a new account

The first time you launch the example, you might want to generate a new account that will then be used. There are two ways to do so: from the Unix example we provide or using Algorand's algokey tool.

Both ways will use the same format to store the keys using two files:

  1. private_key.bin for the private key, stored in binary format;

  2. public_b32.txt for the account address in plain text (base-32 format).

In any case, you will then be asked to fund your account in order to execute new transactions.

Using the Unix example

./examples/unix/unix_example [-n]

Use the flag -n to allow unix_example to generate a new random account. The account is then stored inside a binary file where the private and public keys are concatenated in binary format.

Below is the example running:

$ ./examples/unix/unix_example -n
๐ŸŸข [examples/unix/main.c:217] ๐Ÿ˜Ž Vertices SDK running on Unix-based OS
๐ŸŸข [examples/unix/main.c:137] ๐Ÿ”‘ Loading private key from: /path/to/c-vertices-sdk/examples/unix/config/private_key.bin
๐ŸŸ  [examples/unix/main.c:145] ๐Ÿงพ Creating new random account and storing it (path /path/to/c-vertices-sdk/examples/unix/config/)
๐ŸŸข [examples/unix/main.c:194] ๐Ÿ’ณ Alice's account IZV2H3YRLCPOTUL5ATG5T3TRMUEXKLOGFWYO34NVKRMTXKZO2OOAJ34IWI
๐ŸŸข [examples/unix/main.c:250] ๐ŸŽ Running on testnet-v1.0 v.2.5.0
๐ŸŸข [src/account.c:42] ๐Ÿ‘› Added account to wallet: #0
๐ŸŸข [src/account.c:42] ๐Ÿ‘› Added account to wallet: #1
๐ŸŸข [examples/unix/main.c:263] ๐Ÿค‘ 0.000000 Algos on Alice's account (IZV2H3YRLCPOTUL5ATG5T3TRMUEXKLOGFWYO34NVKRMTXKZO2OOAJ34IWI)
๐Ÿ”ด [examples/unix/main.c:268] ๐Ÿ™„ Amount available on account is too low to pass a transaction, consider adding Algos
๐ŸŸข [examples/unix/main.c:270] ๐Ÿ‘‰ Go to, dispense Algos to: IZV2H3YRLCPOTUL5ATG5T3TRMUEXKLOGFWYO34NVKRMTXKZO2OOAJ34IWI
๐ŸŸข [examples/unix/main.c:271] ๐Ÿ˜Ž Then wait for a few seconds for transaction to pass...

Taking a look at the log, you will see that:

  1. The path to the file storing the keys is displayed /path/to/c-vertices-sdk/examples/unix/config/.

  2. The created account is also displayed in base-32 format: IZV2H3YRLCPOTUL5ATG5T3TRMUEXKLOGFWYO34NVKRMTXKZO2OOAJ34IWI.

  3. Following the last two lines, you then need to go to to fund the freshly generated account: IZV2H3YRLCPOTUL5ATG5T3TRMUEXKLOGFWYO34NVKRMTXKZO2OOAJ34IWI.

Once you have dispensed money on the account, you can go to the next step! ๐Ÿ™‚

You can use -n flag whenever you want to create a new account but make sure to have copied the generated files somewhere else if you want to keep the account otherwise, it will be overwritten and forever lost.

Using Algokey

You can also choose to generate a new account using the tool provided with the Algorand node: algokey:

./algokey generate -f path_to/examples/unix/config/private_key.bin -p path_to/examples/unix/config/public_b32.txt

# to get the account public address:
cat path_to/examples/unix/config/public_b32.txt 

In order to use the account, you need to store the files in the example config folder. The example program will then be ready to use, as soon as you dispense money on the account. You will find the public key in public_b32.txt.

You are now ready to send your first transaction ๐Ÿ˜Ž.

Last updated