Vertices Docs
  • Welcome ๐Ÿ‘จโ€๐Ÿ’ป
  • โš™๏ธ Vertices SDK
    • Quickstart
      • Unix
        • New account
        • Pay transaction
        • Application call
      • Microcontrollers
        • PlatformIO
        • ESP-IDF
        • Zephyr (soon)
    • API Reference
      • Providers
      • Accounts
      • Events
      • Transactions
      • Applications
    • Porting guide
      • Starting from scratch
      • New vertex
      • HTTP Client
      • Handling events
Powered by GitBook
On this page
  • Create a new account
  • Using the Unix example
  • Using Algokey

Was this helpful?

  1. โš™๏ธ Vertices SDK
  2. Quickstart
  3. Unix

New account

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

PreviousUnixNextPay transaction

Last updated 3 years ago

Was this helpful?

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 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 https://bank.testnet.algorand.network/, 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.

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

./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 

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

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

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

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 . You will find the public key in public_b32.txt.

fund your account
https://bank.testnet.algorand.network/
algokey
dispense money on the account