I was comparing their
chainparams.cpp files on:
And in
class CMainParams : public CChainParams {
You can find in
This for DOGE:
base58Prefixes[PUBKEY_ADDRESS] = std::vector<unsigned char>(1,30); // 0x1e
base58Prefixes[SCRIPT_ADDRESS] = std::vector<unsigned char>(1,22); // 0x16
base58Prefixes[SECRET_KEY] = std::vector<unsigned char>(1,158); // 0x9e
base58Prefixes[EXT_PUBLIC_KEY] = boost::assign::list_of(0x02)(0xfa)(0xca)(0xfd).convert_to_container<std::vector<unsigned char> >();
base58Prefixes[EXT_SECRET_KEY] = boost::assign::list_of(0x02)(0xfa)(0xc3)(0x98).convert_to_container<std::vector<unsigned char> >()
And this for DEV:
base58Prefixes[PUBKEY_ADDRESS] = std::vector<unsigned char>(1,30);
base58Prefixes[SCRIPT_ADDRESS] = std::vector<unsigned char>(1,85);
base58Prefixes[SECRET_KEY] = std::vector<unsigned char>(1,83);
base58Prefixes[STEALTH_ADDRESS] = std::vector<unsigned char>(1,43);
base58Prefixes[EXT_PUBLIC_KEY] = list_of(0x04)(0x88)(0xB2)(0x1E).convert_to_container<std::vector<unsigned char> >();
base58Prefixes[EXT_SECRET_KEY] = list_of(0x04)(0x88)(0xAD)(0xE4).convert_to_container<std::vector<unsigned char> >();
So the public key address is the "wallet" address. They are identical and that's why the transaction worked in some way.
But the secret keys are different at the end. DOGE got
(1,158) but DEV
(1,83).
I don't know which value that stands for but is it like backwards compatible? I mean that the secret key of DEV has a height of "83" in something and DOGE got "158", so the DEV key is still functioning on DOGE?