Public Keys for accounts (NXT blockchain)

Hi, everybody!

A small question about input file.

The input file should contain a map of account numbers to coin balances, and a list of account public keys

{
    "balances": {
         "NXT-NZKH-MZRE-2CTT-98NPZ": 30000000000000000,
         "NXT-X5JH-TJKJ-DVGC-5T2V8": 30000000000000000,
         "NXT-LTR8-GMHB-YG56-4NWSE": 30000000000000000
     },
     "publicKeys": [
         "bf0ced0472d8ba3df9e21808e98e61b34404aad737e2bae1778cebc698b40f37",
         "39dc2e813bb45ff063a376e316b10cd0addd7306555ca0dd2890194d37960152",
         "011889a0988ccbed7f488878c62c020587de23ebbbae9ba56dd67fd9f432f808"
     ]
 }
  1. Can I modify this example? If yes, how can I get publicKeys? Is there any tool to get publicKey?
  2. Can I customize addresses? Like TXN-XXXX-XXXX-XXXX-XXXX (for example)?

I may have found answers to some of my questions.

It seems that the answer here is:

  • yes, it is possible (you can add your own data to this file);
  • you can generate an account and get its public key using the NXT testnet (the fact that there will be two identical non-empty addresses in the NXT testnet and in the blockchain being created, apparently, can be ignored);
  • NXT Desktop can serve as a tool for generating an account + public key pair

Is that right?

in contants.java file in nxt/src/java dir you can add three lines to change the Reed Solomon prefix from NXT to BOB or whatever

In constants.java, add:
line 29: public static final String COIN_SYMBOL = "BOB";
line 30: public static final String ACCOUNT_PREFIX = "BOB";
line 31: public static final String PROJECT_NAME = "BOBBERT";

You can create new accounts by running run.sh after compiling, and then when you enter the passphrase in the API it will give you the Publickey. I'm not sure if it can be done via terminal. maybe that's in the manual.

Are you able to compile successfully NXT 1.12.3 and connect/sync and download the blockchain? how do you compile your NXT blockchain?

I didn't do it in the testnet.