1. Set up your wallet

  • To create a wallet, use the following command and change <YOURWALLETNAME> with the desired name of your wallet (without the symbols < and >).

.\elements-cli -named createwallet wallet_name=<YOURWALLETNAME> descriptors=false load_on_startup=true
  • Then generate an address using the following command. The output will be a long string of letters and numbers like “el1qqg3yq85yuzrlukqsw7tm8…….”. Copy and save it somewhere so you can send it to other people to receive tokens:

.\elements-cli getnewaddress
  • To get a “confidential address” to share with other people to receive confidential payments, run the following command substituting <generatedaddress> with the value you obtained using getnewaddress in the previous step. You will find a new address string under “confidential” among the extensive info in the output.

.\elements-cli getaddressinfo <GENERATEDADDRESS>
  • As per the settings we added to the configuration file, for testing purposes only, we have a block subsidy of 1 TEST per block. The block subsidy unlocks after 100 blocks, so to get a balance of 100 TEST, we need to create 200 new blocks with the following command. Replace <GENERATEDADDRESS> with the address string obtained in the steps above

.\elements-cli generatetoaddress 200 <GENERATEDADDRESS>

With this command, you will mine a block and receive the block reward (which consists of the corresponding transaction fees plus the block reward since the given testnet configurations have a block subsidy for the purpose of this demo).

The command generatetoaddress <nblocks> <address> mines blocks to a specified address, with the following arguments:

  1. nblocks (numeric, required) How many blocks are to be immediately generated.

  2. address (string, required) The address to send the newly generated TEST to.

The output will be a string like this that represents the blockhash:

587f9c4fc679c63b98650330f34ea57adbe872d05c69589a52c9ace1d5c860f2

If you run .\elements-cli.exe getblockchaininfo again you will find the same hash under the field “bestblockhash" (as long as that block is the tip of the chain, i.e. the last valid block produced in the network)

We finally have a wallet with a spendable balance in “TEST”, and we can now test the functionality of our chain.

Last updated