You can follow the instructions here to derive different addresses from the rootKey you've already created:
You'll probably want to 1) create the accountKey + utxoPubKey + stakeKey, then 2) create the baseAddress, like so:
const CardanoWasm = require("@emurgo/cardano-serialization-lib-nodejs");
const harden = (num: number): number => {
return 0x80000000 + num;
}
const rootKey = CardanoWasm.Bip32PrivateKey.generate_ed25519_bip32();
// Start from here
const accountKey = rootKey
.derive(harden(1852)) // purpose
.derive(harden(1815)) // coin type
.derive(harden(0)); // account #0
const utxoPubKey = accountKey
.derive(0) // external
.derive(0)
.to_public();
const stakeKey = accountKey
.derive(2) // chimeric
.derive(0)
.to_public();
// base address with staking key
const baseAddress = CardanoWasm.BaseAddress.new(
CardanoWasm.NetworkInfo.mainnet().network_id(),
CardanoWasm.StakeCredential.from_keyhash(utxoPubKey.to_raw_key().hash()),
CardanoWasm.StakeCredential.from_keyhash(stakeKey.to_raw_key().hash()),
);
const address = baseAddress.to_address();
console.log(address.to_bech32()) // "addr..."