Bitcoin Forum

Other => Beginners & Help => Topic started by: stereo117 on March 03, 2018, 08:23:10 PM



Title: Accidentally sent Dogecoin(DOGE) to a DeviantCoin(DEV) wallet address
Post by: stereo117 on March 03, 2018, 08:23:10 PM
Hi,

so i've sent DOGE to a DEV address and now i can see the transaction as "not yet redeemed" on the dogechain.
As I understand it, i've most likey sent DOGE to an unused DOGE address and for now they are gone.

But the DEV address is mine and now my question is:
Can i rescue my doges with the private key of the DEV address, when i import it in my doge wallet?

(I will delete this topic in here when somebody tells me if this belongs to "Beginners & HELP" or "Altcoin Discussion")


Title: Re: Accidentally sent Dogecoin(DOGE) to a DeviantCoin(DEV) wallet address
Post by: odolvlobo on March 04, 2018, 01:30:51 AM
Usually, if the addresses are the same, then the private keys are the same. Import the DEV private key into the DOGE wallet and you should be able to access the coins. If not, it may be just a format difference. If not that, then the coins are probaby lost.


Title: Re: Accidentally sent Dogecoin(DOGE) to a DeviantCoin(DEV) wallet address
Post by: stereo117 on March 04, 2018, 05:07:14 AM

I was comparing their chainparams.cpp files on:

  • https://github.com/dogecoin/dogecoin
  • https://github.com/Deviantcoin/Source

And in

Code:
class CMainParams : public CChainParams {

You can find in

Code:
public:
    CMainParams() {

This for DOGE:

Code:
        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:

Code:
        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?


Title: Re: Accidentally sent Dogecoin(DOGE) to a DeviantCoin(DEV) wallet address
Post by: odolvlobo on March 04, 2018, 06:33:41 AM
Your best bet is posting in a DOGE or DEV forum.