Do not create a different subchain with the same address. You can find this priv_validator.json file in the datadir/.pchain/pchain directory.
Create Subchain
Suppose you are going to create a subchain with a chain id as “mychain”, and you want your subchain to start with one validator with a minimum of 100k deposit PI.
You can set parameter startBlock very small and set parameter endBlock very big to make sure you won't miss it. Once successful, your account will deposit 100k PI on the subchain. If you didn't finish the second step, the deposit will be back to your account once the main chain reaches the endBlock height.
Note: This is only the first step, you need to finish the second step, or the chain won't start.
Join Subchain
Before you join the subchain, you need to generate a signature signed by your consensus private key. You can generate it by RPC chain_signAddress.
curl -X POST -H "Content-Type:application/json" --data '{"jsonrpc":"2.0","method":"chain_signAddress","params":["0x4CACBCBF218679DCC9574A90A2061BCA4A8D8B6C", "0xD8AF52E355CD070ED3401800CBC920B6E94F3C49B42808C3049BF7BDB1FA3B19"],"id":1}' localhost:6969/pchain
//"0x1214608bcdf2e464b2d37d19b1b671482253e275d33079264045253fbb18689385ac0d5b4128d0c593211588deafd9ea2507b4858bdd42aaef3999045c0407ae"
Remember the return hash.
Now you need to join the subchain, in this example, you need at least one validator with at least 100k deposit PI to let your subchain start. You can join the subchain by RPC chain_joinChildChain.
After this transaction succeeds and the main chain reaches startBlock height, your chain will start.
Check
Once your chain started, you will find a directory named with chain id under datadir/.pchain/, in this case, it should be datadir/.pchain/mychain, you can attach to its console by command: