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