Register as a Delegate in ARK

Create and submit a transaction to register as a delegate in ARK.

View fee statistics

Use BlockchainData to view statistics of delegate registration and votes:

Using the previous statistics, use Quantity to set an appropriate fee for registering as a delegate:

  • The FeeStatistics property of BlockchainData for ARK can be used to decide the Fee. If not specified, the fee will be determined automatically during the transaction.
  • The workflow uses the devnet blockchain for these examples. To use the mainnet blockchain, specify BlockchainBase → "ARK".

Create the transaction object

Use BlockchainTransaction to build the transaction object with the chosen fee and desired username:

  • Only up to 20 alphanumeric lowercase characters (and these symbols !@$&_.) can be used as a username.
  • The transaction exists locally until it is submitted to the ARK blockchain with BlockchainTransactionSubmit.
  • The sender is not part of the transaction until the transaction is signed.

Determine the address to register

Use BlockchainAddressData to determine if your address both has enough balance to become a delegate and is not already a delegate:

Since the IsDelegate field is False, this address can be registered as a delegate.

  • You must have the private key to register an address. For more information about how to generate an address, see the workflow Create an ARK Address.

Sign the transaction

Use BlockchainTransactionSign to sign the transaction with the private key and register the address as a new ARK delegate:

This will also add the corresponding public key to the transaction.

  • The transaction is now signed but not yet submitted to the blockchain. It only exists locally.
  • To verify the sender address is correct, you can access the Sender property of the BlockchainTransaction object as a key in an Association.

Submit the transaction

Use BlockchainTransactionSubmit to send the transaction to the blockchain:

  • After the transaction is submitted, you must wait for it to be included in a block. The block can then be forged and added to the blockchain.

View the delegate information

Use BlockchainAddressData again to view the updated information on the newly registered delegate:

The IsDelegate field is now True.

  • You can see that there is no Rank or Votes and the VoterList is empty. This is because no address has voted for the username yet.