Specify location for wallet.dat file · Issue #68 · bitcoin ...

This is going to sound stupid but...

A long while ago, as in approximately a decade ago. I was just killing time and reading articles. Bitcoin was pretty new and was reading about how people were mining with computers. Bitcoin was maybe a few months to a couple years old at the time.
I was reading an article and within the article there was a link to a new coin company that was trying to acquire clients by giving free coin just for setting up an account.
I was like, meh, why not? And did. And that's as far as it went. Divorce happened. Time passed and as far as I know, they're still 'out there' somewhere.
Lately, I've been wanting to try to locate them. I remember a file was saved to my PC. And therein lays my question.
Does anyone know file extensions I should search my old, archived drives for?
It's totally possible it was on one of the drives the failed or on one PC's that was stolen but still, it may be on one of like 15 IDE drives in a box.
Any help would be appreciated.
Edit: If I remember correctly, it was 10 Bitcoin.
submitted by BriMacSamSysAdmin to BitcoinBeginners [link] [comments]

How to move Bitcoin off of old computer?

I am getting ready to update my computer and I have to move some crypto wallets off of the computer before I do that as a safety. I havent looked at this stuff in years.
  1. I am using the Bitcoin-qt wallet on my pc and I have backed up the wallet.dat files to a few locations and burned them to a CD. Is that enough?
  2. I would really like to move the bitcoins and litecoins to a paper wallet. Can I make a paper wallet out of my bitcoin-qt or can I get the keys out somehow?
  3. If I send the bitcoins to coinbase is the IRS going to see that and tax me? Also by sending them to coinbase will that automatically give me the bitkash or all these spinoffs from bitcoin?
  4. Also a dumb question (been 6 years since I looked at this stuff) When I open the bitcoin-qt wallet where is my bitcoin address. The address if I wanted someone to send me bitcoin?
Thanks for the help.
submitted by Divine__Hammer to BitcoinBeginners [link] [comments]

Found old wallet.dat, don't know how to identify the type of coins inside

Hi Everyone,
I found an old wallet.dat on a HDD. I'm trying to figure out how to identify the type of coins that are inside. Looks like a lot of alt coin are using "wallet.dat" just like bitcoin. I found by reading online that addresses are written in plain text inside the file, and indeed I can see next to "name=" some adresses.
Apparently, the first character of the address could identify the type of coin. In my case it's a "S".
What is the best way to find the coin associated with this wallet?

Thank you
submitted by wbulot to CryptoCurrency [link] [comments]

How to Cold Store Your Cryptocurrency for Safekeeping

According to CipherTrace (which specializes in litigation tools and services for cryptographic markets), between 2018 and 2019, the amount of theft from cryptographic wallets exceeds $2 billion. Thefts and break-ins are caused by a variety of reasons: simple incompetence in cryptographic storage, as well as by companies that provide storage services. It is not unusual for holders of crypto currency to lose access to their wallets by themselves, one of the last known cases occurred in Ireland: ,57 million dollars couldn’t be confiscated from a detained drug dealer, which were stored in bitcoins. The problem was that the wallets keys were lost.
The most secure way is a cold storage — all account data and private keys are kept offline and all transactions are manual. This storage method is great because it is fully protected from hacking and interception of data, but it is not suitable for those who make daily transfers of cryptocurrency, it is simply inconvenient.
If you compare “cold and hot” wallets, you can give a simple example: A hot wallet can be compared to a wallet that can be lost and stolen. But you can always access your funds. A cold wallet is safe, and access to it is not permanent. You can also take or put money, but it will require a special code.
In this article we will tell you about the most popular types of cold wallets and we will analyze their pros and cons.

Types of cold wallets

All cold wallets have one common thing — the data is stored offline. However, there are several types of cold wallets, which differ in the degree of protection, physical embodiment and cost of the wallet.

Desktop wallet

Desktop wallets are also known for a high level of protection, in addition to the ability to store crypto currency offline. There are so-called “light” wallets weighing less than 1 gb, and “heavy” wallets weighing more than 1 gb. Two of the desktop wallets can be distinguished:

Exodus Wallet

Multicurrency wallet. It was created in 2016 and supports more than 100 crypto currencies, since 2019 has a phone application. The wallet allows you to export private keys that are created locally, and then to upload them back. Private keys can be discounted to removable media and downloaded only when the transaction is completed. If the user decides to leave private keys on the same computer where the wallet is located, keys are securely encrypted. In order to use your wallet ,there is no need to register or to download the entire blockchain — synchronization is taking place online. In addition to wallet services Exodus Wallet provides an integrated crypto-exchange. The installation file weighs 85 mb.

Bitcoin Core

Bitcoin Core is the official Bitcoin wallet. The size of the wallet is 160 gb, but according to the developers of the company, it’s better to give it a separate winchester with the size of 500 gb. From the security viewpoint, it’s suggested to install a security code or a seed phrase, which may consist 8 words. It is also suggested to copy wallet.dat file. — private wallet key, which will allow you to restore access to your funds.

Hardware wallets

Appears like a regular flash drive with an interface (screen, control keys). This wallet can safely store information about the balance and keys, full functionality is available only when connected to a computer, but the latest models have a special button that allows you to confirm the transaction without connecting to a PC. Each time the device offers to generate a new code-password to confirm the transaction, which significantly reduces the probability of hacking. After generating the code, you need to set a mnemonic phrase (seed) — it consists of 12 or 24 words, which are not related to each other in any way. Such type of wallets has a special protection system that allows you to connect even to potentially infected PCs. The wallets themselves won’t be affected by malware.
The obvious cons of hardware wallets are the following:
  1. It is also possible to lose a device that is so small in size.
  2. A physical device can easily fail due to a variety of damages.
  3. It is not recommended to buy such wallets from “hand”, even from friends, as they can be pre-installed with malware.
As you can see, storing crypto currency with a hardware wallets is very safe and secure, however you should take care about the device. Many people who hold a large amount of crypto currency, in order to not to lose a hardware wallet, store it in a safe deposit box, depriving someone of access to it.

Popular Hardware Wallets models

Trezor One

The first hardware wallet produced in 2013 by the Czech company Satoshi Labs. The device has an OLED display with a pin code, public addresses and Seed phrases. Trezor One has won recognition from users due to its multicurrency and affordable price ($65), it is also considered one of the most secure hardware wallets.
Ledger Nano S
The wallet was released in 2016 by the French company Ledger SAS. Distinctive feature from the other wallets, is the Secure Element controller, which meets banking standards and is certified CC EAL 5+. Also, in order to work with each crypto currency you need to install a special application for this currency on the device, it is not quite convenient, however more secure. The average price of the device is $85.
KeepKey
The purse was released in 2015 in the U.S.. Distinctive feature is OLED display — 256 by 64 pixels. Due to this, you can fully see both the address of the wallet, and the seed phrase. Also, the wallet has a built-in exchange service ShapeShift — an opportunity to exchange crypto currency without entering the exchange. The average price of the device is $50.
BitBox01
Ionos Schnelly’s wallet was invented in Switzerland. In size it’s almost the most compact among all representatives of the hardware wallets. A distinctive feature is the availability of a backup — the card can be multiplied and kept in several places, by analogy with the seed-phrase. In November 2020, support for these wallets will be discontinued, but all owners will be given a 30% discount on the new model. The average price of the device is $55.
CoolWalletS
Developed in Taiwan by CoolBitX, which has long been manufacturing components for Visa and MasterCard. As well as Ledger Nano S has a security standard CC EAL 5+. This wallet works only through smartphones, connecting to them through Bluetooch. The average price of the device is $100.

Paper Wallet

In the age of technological process, plain paper has become a rather reliable method for storing cryptocurrency. With the help of special services, such as bitaddress.org, you can generate public and private keys, then writing them down on paper. You can also print keys as a QR code. To accept transactions with such a wallet, you provide the sender with a public key. To access the funds, you need to find any online wallet that supports your crypto currency. Enter your private key into your online wallet, thus integrating your funds into the system. However, you should understand that after this procedure your wallet will become “hot”.
The best of this storage method — paper wallet is free, its safety depends only from you. When storing a paper wallet to protect it from the fire, water and aging. Also, do not tell other people about where your paper wallet is hidden.
The disadvantages of this storage:
  1. If your wallet is lost, it will be impossible to restore it.
  2. Exposed to a physical damage.
  3. After sending the transaction, you will have to create a new cold wallet.

Offline transaction signature

For this storage method, you will need two PCs. The essence is that the secret keys are never in contact with the Internet, but are stored digitally. Offline transaction method is suitable for people who do not make a daily transactions and have an access to two devices. The process is below:
  1. A hot wallet is installed on a PC with the Internet. The transaction is created without entering private keys and authorization.
  2. The file with transaction is copied and transferred to the second PC without Internet, where private keys are stored.
  3. The transaction is signed offline, copied and transferred back to the PC with the Internet.
In fact, you can do it with one PC and a USB drive. The USB drive will store private keys. Also, you can create a transaction without entering private keys and authorization, after disconnecting the Internet, connect the flash drive, sign the transaction, turn on the Internet. In this case, you should take care of the antivirus system.
The disadvantages of this method:
  1. Using two PCs or a USB drive involves a lot of actions, which is time consuming.
  2. You need to back up your keys in case your PC or flash drive fails.

Multi-signature wallet

This method implies the creation of a wallet, which can be only withdrawn on condition that the transaction is verified by a predetermined number of users. The maximum number of users who can hold private keys of the wallet- is 15. It is considered as one of the most reliable ways of storage, in fact private keys are not only stored offline, but also divided between different people. Often the wallet with multisignatures is used by large crypto-companies, whose management believes that individually employees can not spend the budget. Moreover, when creating this wallet, the number of required multisignatures is minimal. For example: if one of the six keys is lost, the remaining ones will be enough for the transaction.
The disadvantages of this storage:
  1. If most of the keys are lost, access to the funds cannot be restored.
  2. You will not be able to make transactions on your own without the participation of other key holders.

Private Key Fragmentation

The private wallet key consists of 64 symbols. The key is divided into several fragments. They don’t represent anything separately, but if you put all the fragments together, you can access the funds. The key fragments are similar to multisignatures, but in this case you don’t need a multisig-wallet, and the whole process can be done manually.
The disadvantages of this method:
  1. If one fragment is lost, access to funds will be lost.
  2. The maximum level of protection can only be reached when key fragments are distributed to different places, for example: bookshelf, safe deposit box, car. If you divide the key fragments and put them in different boxes — the required level of protection will not be achieved.
When writing down key fragments on paper, protect the key from fire, water and aging.

Conclusion

Digital currencies are not physically expressed and exist only in the digital code, so cold wallets that doesn’t have an access to the Internet, protect cryptocurrencies from the most important and common problem — hacker theft. However, holders of cold wallets need to understand that the safety of a private key depends only on them. There are different ways to store private keys outside the network, but each of them makes it difficult for the user to make transactions.
Hardware wallets that have been specifically designed for this purpose are considered to be the best option for storing cryptocurrencies. With their help it is possible both to store funds off the network and to make transactions easily, without risking the safety of a private key. If you use other cold wallets, it is recommended to combine them with hot wallets. Keep the required crypto currency for daily transfers on hot wallets, and keep all other crypto on cold wallets.
Please don’t forget to follow us on Telegram and stay updated!
YOUR CRYPTO BOSS
submitted by yourcryptoboss19 to u/yourcryptoboss19 [link] [comments]

CLI commands to update to the latest version of ABC

I need to update my abc node running on a server via CLI. What is the proper command to do so?
submitted by myotherone123 to BitcoinABC [link] [comments]

Got a few BTC now - how can I store them safely, feeling worried about leaving it on an exchange, any pro tips?

A friend recommended I buy LedgeKeepKey I tried to buy them but their shit is sold out?
paper wallets make me feel like ill mess something up, I am not that comfortable with it?
Don't like having my BTC on an exchange after reading all the hack stories :-(
Pro tips anyone?
submitted by jointhebtcrevolution to Bitcoin [link] [comments]

Helping getting my bitcoin

4 years ago someone on reddit sent me .05 bitcoin, i forget why but i found the deposit address. How do i get this into my wallet?
Edit:Update all, i'm an idiot and didn't back up my .dat file in any meaningful way. Don't be be like me. Got laid off and have 200USD i cannot use. Save that shit!
submitted by rand0mnewb to BitcoinBeginners [link] [comments]

Another one (old wallet recovery)

Hey everyone,
I've been out of the crypto game for a long time, but managed to dig up a wallet that I had stored on an old PC from early 2015. It wouldn't have much in it, maybe a few BTC at most, but it would be nice to recover it and cash out. The machine had Bitcoin Core installed, hasn't been connected to the internet since 2015, and is currently interstate - I've copied wallet.dat and that's all I have access to for now. The wallet is encrypted, backed up, copied to multiple secure locations, etc, and I remember the passphrase, but from what I've read in other threads, the private keys are the important part and I may need to do a "key dump"?
I tried installing Electrum and importing the wallet, but Electrum doesn't recognise the file. Am I right in thinking that the following would be the best solution?
  1. Download and install Bitcoin Core.
  2. Place wallet.dat into the appropriate directory.
  3. Open Bitcoin Core and allow it to "catch up" and download 240 GB worth of blockchain history.
  4. Possibly be forced to input the passphrase to access the wallet again, and transfer BTC out to an exchange of my choosing (unsure if this is how it would work at this stage).
Is there a way to recover the wallet without being forced to download hundreds of GB worth of data? I live in Australia, with typical Australia-tier internet, and it could quite literally take up to a week to download.
Apologies if there's any shortfall of knowledge on my end of things, it's been a long time since I've kept up with crypto and things seem to have changed quite a bit over the last four years. I appreciate any advice, and y'all are welcome to shame me on my relative ignorance, lol. Thanks!
submitted by ChronicLoser to Bitcoin [link] [comments]

Which security scenario is safest and why?

Hi All, wanted your opinions on which of the following is LEAST secure for storing your bitcoin and why.
A) TrezoKeepkey/Ledger hardware wallet with two copies of seed phrase engraved in metal and stored in safe deposit boxes in different banks
B) Paper wallet with private key split into 4 parts, engraved in metal and stored in 4 separate locations
C) Bitcoin Core wallet.dat file removed from implementation of Core and saved on six separate USB devises, stored in three different locations (duplicates in case of corruption/deterioration of one)
D) Coinbase... ok, ok, this ones just a joke :)

Thanks for your thoughts!

Edit: Maybe I should ask first, which is LEAST secure..
submitted by awertheim to Bitcoin [link] [comments]

Because of many years of reading this sub and the advice provided here, on the worst day of my life, I didn't lose my bitcoin.

Update: Last week, I posted on reddit about my home being consumed by a fire and losing my three beloved cats and all of my worldly possessions. Our story was very well known as we offered a bitcoin reward for our cats (when they were presumed alive) and their were known for their Guinness World Records. I had listened to advice on a subreddit regarding placing my trezor in a firesafe that was ultimately destroyed and soaking wet. Yet, when I pulled my trezor from it, it was intact. Their product is awesome and the people at the company are even better. When they read my story, they offered to donate a portion of any sales** from this post to the Ferndale Cat Shelter, the local 501c Charity shelter my cats raised money for before they perished. I can’t say enough positive things about SatoshiLabs and anyone with crypto should 100% invest in a trezor because not only is their product quality, but their employees are class acts as well. Visit their website to check it out.
Purchase a trezor supporting the Ferndale Cat Shelter here
ORIGINAL POST:
About 6 weeks ago, I had a house fire. It consumed everything. I did my best to fight it, and when I failed at that, woke my friend up who was staying in a guest room, then gave my all for about 15 minutes to find my cats in the blaze. Ultimately got dragged away by the FD and taken to the hospital. I didn't even think about my bitcoin, as honestly, my cats were all I cared about.
3 weeks earlier, I realized I had a stupid amount of money sitting in a wallet.dat file on my computer, and that I really really should put it on a hardware wallet. So I did. I bought a trezor, loaded it up with my BTC and most other coins I had, and put it in a fire safe:
https://imgur.com/a/DbU9V
Here it is. Thanks Trezor. Your product is amazing. The house burned to the foundation, and the firesafe was externally destroyed, but despite the external appearance, inside was a toasted piece of paper with my seed words and this little guy. He was cooked from the heat, and sopping wet from the flood of water they poured on the house (nearest hydrant was a mile away and so it took an hour to start fighting it).
On that day I lost literally everything. Everything I have ever owned in 33 years of life, and my cats. Since that time I've been emotionally devastated, and I'm working really hard on recovering from that. But because of listening to advice on this sub, I had a trezor in a fire safe. I didn't lose anything but some byteball/pivx/dash I had on my desktop computer I forgot to backup. 95% of my holdings since 2012 remain.
Thank you /Bitcoin and thank you to SatoshiLabs, the makers of Trezor. That little guy is tough as hell. I dont think its advertised as waterproof but I pulled it from an immersed box sopping wet. I let it dry and here is how it looked after when it worked. I now have two cloned trezors in different locations and a safety deposit box with my seed. Saving my bitcoin and this price rise has allowed us to pay for pretty much everything we need since the event happened.
Please, do not offer any donations to me, I'm fine. If you want to support anything, support the Ferndale Cat Shelter or any local cat shelter in your area. I'm the president of the charity. We take care of Detroit Strays. My cats had Guinness World Records and did charity events to raise funds for them. Now that they are gone, we lost that revenue stream for the charity. We accept bitcoin locally at the catfe for donations, adoptions and coffee but I won’t post that info here.
You'll know when you're there as our old address started with 1Catfe and our new address starts with 1CatCafe =) Took ages to offline hash that one out!
Anyways, that's the story, thanks again /Bitcoin, you made the worst day of my life less terrible.
Edit: The Fireproof safe was literally a 40 dollar Walmart special. Would only recommend getting water and fire proof in the future as some medicine I had in there was destroyed due to getting wet
**This post has an affiliate link. All proceeds will ultimately be donated to the Ferndale Cat Shelter. A registered 501c3 Charity.
Purchase a trezor supporting the Ferndale Cat Shelter here
submitted by Drwillpowers to Bitcoin [link] [comments]

Do Bitcoins just disappear?

So I am having a major problem, I backed up my wallet on an external drive because my old hard disk dive was starting to freeze up on me and so I had no choice but to buy a new one. I read online all I had to do was re-download the Bitcoin app on my new hard drive and copy over my bitcoin files from my old computer. But to my horror almost a day and a half later after my computer finished syncing up with the bitcoin network I saw only zeros in my Wallet. To be fair I only had like $100 dollars in there but the thing is I worked over the last year and a half going from website to website colleting whatever payouts and even setting up a coinbase account to make small purchases when I had some extra cash. But now its all gone, what did I do wrong?
submitted by Dis-order to Bitcoin [link] [comments]

Import for free clams? But...

... my wallets aren't in wallet.dat format, they got imported in to Multibit. Any suggestions?
submitted by db2 to CLAMClient [link] [comments]

Lost Bitcoin Address, Bitcore Core client

Hello, I'm in a state of panic right now. I had recently decided to transfer my bitcoin from an online wallet (Blockchain.info) into a local wallet(Bitcoin Core).
I had send bitcoin to one of the pre-generated receiving addresses, prior to syncing up with the block chain. After the client had finally finished, the receiving address was no longer listed.
I can view the transaction and the address on blockchain.info, and tried to use dumpprivkey on in using the debug window, but it said the private key for the address isn't known.
I'm not sure if this is relevant, but during the block chain syncing process, my SSD ran out of space, so I followed a tutorial to use my secondary HDD which has a larger capacity. The instructions told me to paste "-datadir=F:" into the target field of the program.
Please help.
submitted by fuckswithmoreducks to Bitcoin [link] [comments]

12-13 15:04 - 'Read this went the opposite way' (self.Bitcoin) by /u/fukya40 removed from /r/Bitcoin within 38-48min

'''
// Copyright (c) 2008 Satoshi Nakamoto // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal // in the Software without restriction, including without limitation the rights // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell // copies of the Software, and to permit persons to whom the Software is // furnished to do so, subject to the following conditions: // // The above copyright notice and this permission notice shall be included in // all copies or substantial portions of the Software. // // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, // FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT // SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR // OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING // FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS // IN THE SOFTWARE.
class COutPoint; class CInPoint; class CDiskTxPos; class CCoinBase; class CTxIn; class CTxOut; class CTransaction; class CBlock; class CBlockIndex; class CWalletTx; class CKeyItem;
static const unsigned int MAX_SIZE = 0x02000000; static const int64 COIN = 1000000; static const int64 CENT = 10000; static const int64 TRANSACTIONFEE = 1 * CENT; /// change this to a user options setting, optional fee can be zero ///static const unsigned int MINPROOFOFWORK = 40; /// need to decide the right difficulty to start with static const unsigned int MINPROOFOFWORK = 20; /// ridiculously easy for testing
extern map mapBlockIndex; extern const uint256 hashGenesisBlock; extern CBlockIndex* pindexGenesisBlock; extern int nBestHeight; extern CBlockIndex* pindexBest; extern unsigned int nTransactionsUpdated; extern int fGenerateBitcoins;
FILE* OpenBlockFile(unsigned int nFile, unsigned int nBlockPos, const char* pszMode="rb"); FILE* AppendBlockFile(unsigned int& nFileRet); bool AddKey(const CKey& key); vector GenerateNewKey(); bool AddToWallet(const CWalletTx& wtxIn); void ReacceptWalletTransactions(); void RelayWalletTransactions(); bool LoadBlockIndex(bool fAllowNew=true); bool BitcoinMiner(); bool ProcessMessages(CNode* pfrom); bool ProcessMessage(CNode* pfrom, string strCommand, CDataStream& vRecv); bool SendMessages(CNode* pto); int64 CountMoney(); bool CreateTransaction(CScript scriptPubKey, int64 nValue, CWalletTx& txNew); bool SendMoney(CScript scriptPubKey, int64 nValue, CWalletTx& wtxNew);
class CDiskTxPos { public: unsigned int nFile; unsigned int nBlockPos; unsigned int nTxPos;
CDiskTxPos() { SetNull(); }
CDiskTxPos(unsigned int nFileIn, unsigned int nBlockPosIn, unsigned int nTxPosIn) { nFile = nFileIn; nBlockPos = nBlockPosIn; nTxPos = nTxPosIn; }
IMPLEMENT_SERIALIZE( READWRITE(FLATDATA(*this)); ) void SetNull() { nFile = -1; nBlockPos = 0; nTxPos = 0; } bool IsNull() const { return (nFile == -1); }
friend bool operator==(const CDiskTxPos& a, const CDiskTxPos& b) { return (a.nFile == b.nFile && a.nBlockPos == b.nBlockPos && a.nTxPos == b.nTxPos); }
friend bool operator!=(const CDiskTxPos& a, const CDiskTxPos& b) { return !(a == b); }
void print() const { if (IsNull()) printf("null"); else printf("(nFile=%d, nBlockPos=%d, nTxPos=%d)", nFile, nBlockPos, nTxPos); } };
class CInPoint { public: CTransaction* ptx; unsigned int n;
CInPoint() { SetNull(); } CInPoint(CTransaction* ptxIn, unsigned int nIn) { ptx = ptxIn; n = nIn; } void SetNull() { ptx = NULL; n = -1; } bool IsNull() const { return (ptx == NULL && n == -1); } };
class COutPoint { public: uint256 hash; unsigned int n;
COutPoint() { SetNull(); } COutPoint(uint256 hashIn, unsigned int nIn) { hash = hashIn; n = nIn; } IMPLEMENT_SERIALIZE( READWRITE(FLATDATA(*this)); ) void SetNull() { hash = 0; n = -1; } bool IsNull() const { return (hash == 0 && n == -1); }
friend bool operator<(const COutPoint& a, const COutPoint& b) { return (a.hash < b.hash || (a.hash == b.hash && a.n < b.n)); }
friend bool operator==(const COutPoint& a, const COutPoint& b) { return (a.hash == b.hash && a.n == b.n); }
friend bool operator!=(const COutPoint& a, const COutPoint& b) { return !(a == b); }
void print() const { printf("COutPoint(%s, %d)", hash.ToString().substr(0,6).c_str(), n); } };
// // An input of a transaction. It contains the location of the previous // transaction's output that it claims and a signature that matches the // output's public key. // class CTxIn { public: COutPoint prevout; CScript scriptSig;
CTxIn() { }
CTxIn(COutPoint prevoutIn, CScript scriptSigIn) { prevout = prevoutIn; scriptSig = scriptSigIn; }
CTxIn(uint256 hashPrevTx, unsigned int nOut, CScript scriptSigIn) { prevout = COutPoint(hashPrevTx, nOut); scriptSig = scriptSigIn; }
IMPLEMENT_SERIALIZE ( READWRITE(prevout); READWRITE(scriptSig); )
bool IsPrevInMainChain() const { return CTxDB("r").ContainsTx(prevout.hash); }
friend bool operator==(const CTxIn& a, const CTxIn& b) { return (a.prevout == b.prevout && a.scriptSig == b.scriptSig); }
friend bool operator!=(const CTxIn& a, const CTxIn& b) { return !(a == b); }
void print() const { printf("CTxIn("); prevout.print(); if (prevout.IsNull()) { printf(", coinbase %s)\n", HexStr(scriptSig.begin(), scriptSig.end(), false).c_str()); } else { if (scriptSig.size() >= 6) printf(", scriptSig=%02x%02x", scriptSig[4], scriptSig[5]); printf(")\n"); } }
bool IsMine() const; int64 GetDebit() const; };
// // An output of a transaction. It contains the public key that the next input // must be able to sign with to claim it. // class CTxOut { public: int64 nValue; unsigned int nSequence; CScript scriptPubKey;
// disk only CDiskTxPos posNext; //// so far this is only used as a flag, nothing uses the location
public: CTxOut() { nValue = 0; nSequence = UINT_MAX; }
CTxOut(int64 nValueIn, CScript scriptPubKeyIn, int nSequenceIn=UINT_MAX) { nValue = nValueIn; scriptPubKey = scriptPubKeyIn; nSequence = nSequenceIn; }
IMPLEMENT_SERIALIZE ( READWRITE(nValue); READWRITE(nSequence); READWRITE(scriptPubKey); if (nType & SER_DISK) READWRITE(posNext); )
uint256 GetHash() const { return SerializeHash(*this); }
bool IsFinal() const { return (nSequence == UINT_MAX); }
bool IsMine() const { return ::IsMine(scriptPubKey); }
int64 GetCredit() const { if (IsMine()) return nValue; return 0; }
friend bool operator==(const CTxOut& a, const CTxOut& b) { return (a.nValue == b.nValue && a.nSequence == b.nSequence && a.scriptPubKey == b.scriptPubKey); }
friend bool operator!=(const CTxOut& a, const CTxOut& b) { return !(a == b); }
void print() const { if (scriptPubKey.size() >= 6) printf("CTxOut(nValue=%I64d, nSequence=%u, scriptPubKey=%02x%02x, posNext=", nValue, nSequence, scriptPubKey[4], scriptPubKey[5]); posNext.print(); printf(")\n"); } };
// // The basic transaction that is broadcasted on the network and contained in // blocks. A transaction can contain multiple inputs and outputs. // class CTransaction { public: vector vin; vector vout; unsigned int nLockTime;
CTransaction() { SetNull(); }
IMPLEMENT_SERIALIZE ( if (!(nType & SER_GETHASH)) READWRITE(nVersion);
// Set version on stream for writing back same version if (fRead && s.nVersion == -1) s.nVersion = nVersion;
READWRITE(vin); READWRITE(vout); READWRITE(nLockTime); )
void SetNull() { vin.clear(); vout.clear(); nLockTime = 0; }
bool IsNull() const { return (vin.empty() && vout.empty()); }
uint256 GetHash() const { return SerializeHash(*this); }
bool AllPrevInMainChain() const { foreach(const CTxIn& txin, vin) if (!txin.IsPrevInMainChain()) return false; return true; }
bool IsFinal() const { if (nLockTime == 0) return true; if (nLockTime < GetAdjustedTime()) return true; foreach(const CTxOut& txout, vout) if (!txout.IsFinal()) return false; return true; }
bool IsUpdate(const CTransaction& b) const { if (vin.size() != b.vin.size() || vout.size() != b.vout.size()) return false; for (int i = 0; i < vin.size(); i++) if (vin[i].prevout != b.vin[i].prevout) return false;
bool fNewer = false; unsigned int nLowest = UINT_MAX; for (int i = 0; i < vout.size(); i++) { if (vout[i].nSequence != b.vout[i].nSequence) { if (vout[i].nSequence <= nLowest) { fNewer = false; nLowest = vout[i].nSequence; } if (b.vout[i].nSequence < nLowest) { fNewer = true; nLowest = b.vout[i].nSequence; } } } return fNewer; }
bool IsCoinBase() const { return (vin.size() == 1 && vin[0].prevout.IsNull()); }
bool CheckTransaction() const { // Basic checks that don't depend on any context if (vin.empty() || vout.empty()) return false;
// Check for negative values int64 nValueOut = 0; foreach(const CTxOut& txout, vout) { if (txout.nValue < 0) return false; nValueOut += txout.nValue; }
if (IsCoinBase()) { if (vin[0].scriptSig.size() > 100) return false; } else { foreach(const CTxIn& txin, vin) if (txin.prevout.IsNull()) return false; }
return true; }
bool IsMine() const { foreach(const CTxOut& txout, vout) if (txout.IsMine()) return true; return false; }
int64 GetDebit() const { int64 nDebit = 0; foreach(const CTxIn& txin, vin) nDebit += txin.GetDebit(); return nDebit; }
int64 GetCredit() const { int64 nCredit = 0; foreach(const CTxOut& txout, vout) nCredit += txout.GetCredit(); return nCredit; }
int64 GetValueOut() const { int64 nValueOut = 0; foreach(const CTxOut& txout, vout) { if (txout.nValue < 0) throw runtime_error("CTransaction::GetValueOut() : negative value"); nValueOut += txout.nValue; } return nValueOut; }
bool ReadFromDisk(CDiskTxPos pos, FILE** pfileRet=NULL) { CAutoFile filein = OpenBlockFile(pos.nFile, 0, pfileRet ? "rb+" : "rb"); if (!filein) return false;
// Read transaction if (fseek(filein, pos.nTxPos, SEEK_SET) != 0) return false; filein >> *this;
// Return file pointer if (pfileRet) { if (fseek(filein, pos.nTxPos, SEEK_SET) != 0) return false; *pfileRet = filein.release(); } return true; }
friend bool operator==(const CTransaction& a, const CTransaction& b) { return (a.vin == b.vin && a.vout == b.vout && a.nLockTime == b.nLockTime); }
friend bool operator!=(const CTransaction& a, const CTransaction& b) { return !(a == b); }
void print() const { printf("CTransaction(vin.size=%d, vout.size=%d, nLockTime=%d)\n", vin.size(), vout.size(), nLockTime); for (int i = 0; i < vin.size(); i++) { printf(" "); vin[i].print(); } for (int i = 0; i < vout.size(); i++) { printf(" "); vout[i].print(); } }
bool TestDisconnectInputs(CTxDB& txdb, map& mapTestPool) { return DisconnectInputs(txdb, mapTestPool, true); }
bool TestConnectInputs(CTxDB& txdb, map& mapTestPool, bool fMemoryTx, bool fIgnoreDiskConflicts, int64& nFees) { return ConnectInputs(txdb, mapTestPool, CDiskTxPos(1, 1, 1), 0, true, fMemoryTx, fIgnoreDiskConflicts, nFees); }
bool DisconnectInputs(CTxDB& txdb) { static map mapTestPool; return DisconnectInputs(txdb, mapTestPool, false); }
bool ConnectInputs(CTxDB& txdb, CDiskTxPos posThisTx, int nHeight) { static map mapTestPool; int64 nFees; return ConnectInputs(txdb, mapTestPool, posThisTx, nHeight, false, false, false, nFees); }
private: bool DisconnectInputs(CTxDB& txdb, map& mapTestPool, bool fTest); bool ConnectInputs(CTxDB& txdb, map& mapTestPool, CDiskTxPos posThisTx, int nHeight, bool fTest, bool fMemoryTx, bool fIgnoreDiskConflicts, int64& nFees);
public: bool AcceptTransaction(CTxDB& txdb, bool fCheckInputs=true); bool AcceptTransaction() { CTxDB txdb("r"); return AcceptTransaction(txdb); } bool ClientConnectInputs(); };
// // A transaction with a merkle branch linking it to the timechain // class CMerkleTx : public CTransaction { public: uint256 hashBlock; vector vMerkleBranch; int nIndex;
CMerkleTx() { Init(); }
CMerkleTx(const CTransaction& txIn) : CTransaction(txIn) { Init(); }
void Init() { hashBlock = 0; nIndex = -1; }
IMPLEMENT_SERIALIZE ( nSerSize += SerReadWrite(s, (CTransaction)this, nType, nVersion, ser_action); if (!(nType & SER_GETHASH)) READWRITE(nVersion); READWRITE(hashBlock); READWRITE(vMerkleBranch); READWRITE(nIndex); )
int SetMerkleBranch(); int IsInMainChain() const; bool AcceptTransaction(CTxDB& txdb, bool fCheckInputs=true); bool AcceptTransaction() { CTxDB txdb("r"); return AcceptTransaction(txdb); } };
// // A transaction with a bunch of additional info that only the owner cares // about. It includes any unrecorded transactions needed to link it back // to the timechain. // class CWalletTx : public CMerkleTx { public: vector vtxPrev; map mapValue; vector > vOrderForm; unsigned int nTime; char fFromMe; char fSpent;
//// probably need to sign the order info so know it came from payer
CWalletTx() { Init(); }
CWalletTx(const CMerkleTx& txIn) : CMerkleTx(txIn) { Init(); }
CWalletTx(const CTransaction& txIn) : CMerkleTx(txIn) { Init(); }
void Init() { nTime = 0; fFromMe = false; fSpent = false; }
IMPLEMENT_SERIALIZE ( /// would be nice for it to return the version number it reads, maybe use a reference nSerSize += SerReadWrite(s, (CMerkleTx)this, nType, nVersion, ser_action); if (!(nType & SER_GETHASH)) READWRITE(nVersion); READWRITE(vtxPrev); READWRITE(mapValue); READWRITE(vOrderForm); READWRITE(nTime); READWRITE(fFromMe); READWRITE(fSpent); )
bool WriteToDisk() { return CWalletDB().WriteTx(GetHash(), *this); }
void AddSupportingTransactions(CTxDB& txdb); void AddSupportingTransactions() { CTxDB txdb("r"); AddSupportingTransactions(txdb); }
bool AcceptWalletTransaction(CTxDB& txdb, bool fCheckInputs=true); bool AcceptWalletTransaction() { CTxDB txdb("r"); return AcceptWalletTransaction(txdb); }
void RelayWalletTransaction(CTxDB& txdb); void RelayWalletTransaction() { CTxDB txdb("r"); RelayWalletTransaction(txdb); } };
// // Nodes collect new transactions into a block, hash them into a hash tree, // and scan through nonce values to make the block's hash satisfy proof-of-work // requirements. When they solve the proof-of-work, they broadcast the block // to everyone and the block is added to the timechain. The first transaction // in the block is a special one that creates a new coin owned by the creator // of the block. // // Blocks are appended to blk0001.dat files on disk. Their location on disk // is indexed by CBlockIndex objects in memory. // class CBlock { public: // header uint256 hashPrevBlock; uint256 hashMerkleRoot; unsigned int nTime; unsigned int nBits; unsigned int nNonce;
// network and disk vector vtx;
// memory only mutable vector vMerkleTree;
CBlock() { SetNull(); }
IMPLEMENT_SERIALIZE ( if (!(nType & SER_GETHASH)) READWRITE(nVersion); READWRITE(hashPrevBlock); READWRITE(hashMerkleRoot); READWRITE(nTime); READWRITE(nBits); READWRITE(nNonce);
// ConnectBlock depends on vtx being last so it can calculate offset if (!(nType & (SER_GETHASH|SER_BLOCKHEADERONLY))) READWRITE(vtx); else if (fRead) const_cast(this)->vtx.clear(); )
void SetNull() { hashPrevBlock = 0; hashMerkleRoot = 0; nTime = 0; nBits = 0; nNonce = 0; vtx.clear(); vMerkleTree.clear(); }
bool IsNull() const { return (nBits == 0); }
uint256 GetHash() const { return Hash(BEGIN(hashPrevBlock), END(nNonce)); }
uint256 BuildMerkleTree() const { vMerkleTree.clear(); foreach(const CTransaction& tx, vtx) vMerkleTree.push_back(tx.GetHash()); int j = 0; for (int nSize = vtx.size(); nSize > 1; nSize = (nSize + 1) / 2) { for (int i = 0; i < nSize; i += 2) { int i2 = min(i+1, nSize-1); vMerkleTree.push_back(Hash(BEGIN(vMerkleTree[j+i]), END(vMerkleTree[j+i]), BEGIN(vMerkleTree[j+i2]), END(vMerkleTree[j+i2]))); } j += nSize; } return (vMerkleTree.empty() ? 0 : vMerkleTree.back()); }
vector GetMerkleBranch(int nIndex) const { if (vMerkleTree.empty()) BuildMerkleTree(); vector vMerkleBranch; int j = 0; for (int nSize = vtx.size(); nSize > 1; nSize = (nSize + 1) / 2) { int i = min(nIndex1, nSize-1); vMerkleBranch.push_back(vMerkleTree[j+i]); nIndex >>= 1; j += nSize; } return vMerkleBranch; }
static uint256 CheckMerkleBranch(uint256 hash, const vector& vMerkleBranch, int nIndex) { foreach(const uint256& otherside, vMerkleBranch) { if (nIndex & 1) hash = Hash(BEGIN(otherside), END(otherside), BEGIN(hash), END(hash)); else hash = Hash(BEGIN(hash), END(hash), BEGIN(otherside), END(otherside)); nIndex >>= 1; } return hash; }
bool WriteToDisk(bool fWriteTransactions, unsigned int& nFileRet, unsigned int& nBlockPosRet) { // Open history file to append CAutoFile fileout = AppendBlockFile(nFileRet); if (!fileout) return false; if (!fWriteTransactions) fileout.nType |= SER_BLOCKHEADERONLY;
// Write index header unsigned int nSize = fileout.GetSerializeSize(*this); fileout << FLATDATA(pchMessageStart) << nSize;
// Write block nBlockPosRet = ftell(fileout); if (nBlockPosRet == -1) return false; fileout << *this;
return true; }
bool ReadFromDisk(unsigned int nFile, unsigned int nBlockPos, bool fReadTransactions) { SetNull();
// Open history file to read CAutoFile filein = OpenBlockFile(nFile, nBlockPos, "rb"); if (!filein) return false; if (!fReadTransactions) filein.nType |= SER_BLOCKHEADERONLY;
// Read block filein >> *this;
// Check the header if (nBits < MINPROOFOFWORK || GetHash() > (~uint256(0) >> nBits)) return error("CBlock::ReadFromDisk : errors in block header");
return true; }
void print() const { printf("CBlock(hashPrevBlock=%s, hashMerkleRoot=%s, nTime=%u, nBits=%u, nNonce=%u, vtx=%d)\n", hashPrevBlock.ToString().substr(0,6).c_str(), hashMerkleRoot.ToString().substr(0,6).c_str(), nTime, nBits, nNonce, vtx.size()); for (int i = 0; i < vtx.size(); i++) { printf(" "); vtx[i].print(); } printf(" vMerkleTree: "); for (int i = 0; i < vMerkleTree.size(); i++) printf("%s ", vMerkleTree[i].ToString().substr(0,6).c_str()); printf("\n"); }
bool ReadFromDisk(const CBlockIndex* blockindex, bool fReadTransactions); bool TestDisconnectBlock(CTxDB& txdb, map& mapTestPool); bool TestConnectBlock(CTxDB& txdb, map& mapTestPool); bool DisconnectBlock(); bool ConnectBlock(unsigned int nFile, unsigned int nBlockPos, int nHeight); bool AddToBlockIndex(unsigned int nFile, unsigned int nBlockPos, bool fWriteDisk); bool CheckBlock() const; bool AcceptBlock(); };
// // The timechain is a tree shaped structure starting with the // genesis block at the root, with each block potentially having multiple // candidates to be the next block. pprev and pnext link a path through the // main/longest chain. A blockindex may have multiple pprev pointing back // to it, but pnext will only point forward to the longest branch, or will // be null if the block is not part of the longest chain. // class CBlockIndex { public: CBlockIndex* pprev; CBlockIndex* pnext; unsigned int nFile; unsigned int nBlockPos; int nHeight;
CBlockIndex() { pprev = NULL; pnext = NULL; nFile = 0; nBlockPos = 0; nHeight = 0; }
CBlockIndex(unsigned int nFileIn, unsigned int nBlockPosIn) { pprev = NULL; pnext = NULL; nFile = nFileIn; nBlockPos = nBlockPosIn; nHeight = 0; }
bool IsInMainChain() const { return (pnext || this == pindexBest); }
bool EraseBlockFromDisk() { // Open history file CAutoFile fileout = OpenBlockFile(nFile, nBlockPos, "rb+"); if (!fileout) return false;
// Overwrite with empty null block CBlock block; block.SetNull(); fileout << block;
return true; }
bool TestDisconnectBlock(CTxDB& txdb, map& mapTestPool) { CBlock block; if (!block.ReadFromDisk(nFile, nBlockPos, true)) return false; return block.TestDisconnectBlock(txdb, mapTestPool); }
bool TestConnectBlock(CTxDB& txdb, map& mapTestPool) { CBlock block; if (!block.ReadFromDisk(nFile, nBlockPos, true)) return false; return block.TestConnectBlock(txdb, mapTestPool); }
bool DisconnectBlock() { CBlock block; if (!block.ReadFromDisk(nFile, nBlockPos, true)) return false; return block.DisconnectBlock(); }
bool ConnectBlock() { CBlock block; if (!block.ReadFromDisk(nFile, nBlockPos, true)) return false; return block.ConnectBlock(nFile, nBlockPos, nHeight); }
void print() const { printf("CBlockIndex(nprev=%08x, pnext=%08x, nFile=%d, nBlockPos=%d, nHeight=%d)\n", pprev, pnext, nFile, nBlockPos, nHeight); } };
void PrintTimechain();
// // Describes a place in the timechain to another node such that if the // other node doesn't have the same branch, it can find a recent common trunk. // The further back it is, the further before the branch point it may be. // class CBlockLocator { protected: vector vHave; public:
CBlockLocator() { }
explicit CBlockLocator(const CBlockIndex* pindex) { Set(pindex); }
explicit CBlockLocator(uint256 hashBlock) { map::iterator mi = mapBlockIndex.find(hashBlock); if (mi != mapBlockIndex.end()) Set((*mi).second); }
IMPLEMENT_SERIALIZE ( if (!(nType & SER_GETHASH)) READWRITE(nVersion); READWRITE(vHave); )
void Set(const CBlockIndex* pindex) { vHave.clear(); int nStep = 1; while (pindex) { CBlock block; block.ReadFromDisk(pindex, false); vHave.push_back(block.GetHash());
// Exponentially larger steps back for (int i = 0; pindex && i < nStep; i++) pindex = pindex->pprev; if (vHave.size() > 10) nStep *= 2; } }
CBlockIndex* GetBlockIndex() { // Find the first block the caller has in the main chain foreach(const uint256& hash, vHave) { map::iterator mi = mapBlockIndex.find(hash); if (mi != mapBlockIndex.end()) { CBlockIndex* pindex = (*mi).second; if (pindex->IsInMainChain()) return pindex; } } return pindexGenesisBlock; }
uint256 GetBlockHash() { // Find the first block the caller has in the main chain foreach(const uint256& hash, vHave) { map::iterator mi = mapBlockIndex.find(hash); if (mi != mapBlockIndex.end()) { CBlockIndex* pindex = (*mi).second; if (pindex->IsInMainChain()) return hash; } } return hashGenesisBlock; }
int GetHeight() { CBlockIndex* pindex = GetBlockIndex(); if (!pindex) return 0; return pindex->nHeight; } };
extern map mapTransactions; extern map mapWallet; extern vector > vWalletUpdated; extern CCriticalSection cs_mapWallet; extern map, CPrivKey> mapKeys; extern map > mapPubKeys; extern CCriticalSection cs_mapKeys; extern CKey keyUser;
'''
Read this went the opposite way
Go1dfish undelete link
unreddit undelete link
Author: fukya40
submitted by removalbot to removalbot [link] [comments]

Bitcoin stuck on broken wallet

I keep my bitcoin on a wallet on my Linux partition; recently, it failed to synchronize. I've tried sending a small test transaction to a wallet I have on my Windows partition; but the transaction never arrived.
Is there any way to access my bitcoin from my Windows wallet, without needing to send it over in the form of a transaction?
submitted by ElenTheMellon to BitcoinBeginners [link] [comments]

[Help] [Question] I had to erase MBP and couldn't restore from time machine. Now I need help retrieving my old wallet info?

As stated I had problems with my MBP and had to do a clean restore. I then couldn't restore it from my backup on my time machine but instead had to pull the individual files from the backup. I need help finding a way to retrieve my old wallet and I believe I have a .dat backup? I do have the Bitcoin-QT wallet and I don't want it to start up and sync till I know how to retrieve my old wallet info. Any help would be greatly appreciated. Also just in case the .dat file isn't any help is there a way to pull it from my time machine backup?
[Edit] I have located the new wallet.dat file and Bitcoin folder and added the Bitcoin-QT Backup.dat file in there but haven't done anything with it yet. I am thinking about going ahead and running the Bitcoin-QT wallet and let it sync and see what happens.
[Edit] (Update) After posting on here and Bitcointalk.org I had enough people come together and had different ideas to figure it all out. So my folder was hidden from plain sight and had to use the command+shift+[G] keys to see my hidden Bitcoin folder. Once I was in that folder I entered into time machine and the same exact folder came up and I went to the last backup before my computer got restored and copied those files and pasted those into the Bitcoin folder created after opening up Bitcoin-QT again to do a fresh sync.
So I deleted the new files and added my old files from my backup and then opened up Bitcoin-QT and it started to process and verify blocks. Once it opened up it had to sync all my data back on and showed my account balance from what I had prior to this whole ordeal. Now I wasn't sure it was going to work so it spent all night reindexing and syncing the blockchain and finally finished this morning. Once it finished I closed the wallet down and reopened it and it came right back to my wallet. So I am thankful for all the help and appreciate the bitcoin community for this. As I am sure everyone knows it can be kind of stressful to have to deal with something like this but luckily there are files and backups that help prevent anyone from losing the wallet completely.
I will now make sure I backup the wallet every month or so if not more often. This is one thing that I believe scares people from using bitcoins because it is easy to lose your wallet/BTC if you don't know what you're doing. I am looking into the Electrum wallet as well to see if I actually like that one. Thanks again for your help.
submitted by caosborne to Bitcoin [link] [comments]

Wallet problems; technical wizards of r/bitcoin could you help me out please...

My wallet showed a message informing me I needed to install a newer version of the software. I installed version v0.6.2 Beta over the old version and it installed fine BUT, it still isn't catching up with the blockchain and now this message appears:
"WARNING: Displayed transactions may not be correct! You may need to upgrade or other nodes may need to upgrade."
I tried sending some bitcoin as a test and a red bar appeared across the transaction field and nothing moved: I'm bricking it. I am an avid bitcoin enthusiast but with less technical savvy than Amish Pete's donkey, Maurice.
Thanks in advance for your help
submitted by Bequizical to Bitcoin [link] [comments]

(Upvote to the top) > SOLUTION FOR ZCLASSIC Eleos Wallet: "Wallet daemon can not be run. Check if daemon does not already run"

So I noticed a lot of people recently (including myself) are experiencing the error "Wallet daemon can not be run. Check if daemon does not already run" when trying to open up their ZCL Eleos wallet, and people are unable to access their funds or cannot export their private keys as well. A solution to this is now official (thanks to JBrutWhat from the BTCP team for helping me out on this.) Note: Post is being edited as more info becomes available to me.
This solution also works for users who are on the ZClassic Swing wallet experiencing the error "A general unexpected critical error has occurred: error: Couldn't connect to server, see the console output for more detailed error information!."
Eleos Wallet Troubleshooting section
ZClassic Electrum Wallet
  1. Create a new standard wallet and restore the 2FA wallet using your "seed" codes. DO NOT password protect this wallet.
  2. Disable the 2FA feature when presented with the option.
  3. Navigate to C:/Users/YOUR-NAME/AppData/Roaming/Electrum-zcl/wallets. Open the new standard wallet file with Notepad.
  4. You will need to gather the 2 private keys and one public key. To find this easily, press “CTRL+F” and search for “xprv”. Copy the 2 “xprv” values as well as the last “xpub” value. You will need these in a later step.
  5. Create a new “Multi-signature wallet”. Select “From 3 co-signers” on the first slider. Select “Require 2 signatures” on the second slider.
  6. To add the first co-signer, click “Use public or private keys”. Enter the first xprv key in this box.
  7. Add the second co-signer via a private key also.
  8. Add the third co-signer with the public key. Complete the set-up.
  9. Your wallet funds now have the ability to be sent from the multi-signature wallet.
For Users who were already using the Electrum wallet beforehand, you can go to file > new/restore wallet > next > import zclassic private keys and input the private key you obtained from the walletaid tool, and it should import the wallet into the electrum wallet. Then from there, go to file > backup wallet and export a copy of the wallet.dat file onto an offline USB.
Reminder: Backup and delete the private keys file from your desktop pc/hard drive, move it into an offline USB for safekeeping. Do not leave it on an online device.
Donate to me if you found the guide useful! Your donations 100% voluntary but they are greatly appreciated and keep us going!
ZCL: t1fkxCWJs3f2oXznGwZuEgftJ2SCjYZ8VjZ
BTC: 14Xmfm9jf4h1h4RXZBQCFK6i4LWibqWVPu
LTC: LhAERgWcjbbXQbGqjhy4owALGhwfpj1aw2
ETH: 0xe723305337926e1fcb5dd0495e6648569a252c13
BCH: 1JXqLHqjYH8bew38AXwEt9dmKvsdYwLtvr
LINKS
(You can join the discord rooms where there are channels for users looking for help)
submitted by BestServerNA to ZClassic [link] [comments]

Did I steal $500,000...?

I posted this elsewhere, and will condense the interesting question into one paragraph. The original post is below that if you're interested in more context. And there's a tl;dr at the very bottom, but this paragraph here is a good summary:
In summary, I acquired a long-lost computer from a cousin who died 8 years ago. Nobody was aware that there were Bitcoins on that machine. Who do those coins belong to? If someone gives you a book and there's a $100 bill it, there's a good argument to be made the $100 is yours. If the book contains login info to a bank account with $100, taking that money is stealing. But where do these bitcoins really live and who possesses them... especially if nobody ever knew they existed?
---
Original Post.
I cleaned out an old account to post this... consider it a throwaway for obvious reasons.
It’s a long story, but it needs complete context…
I’m an only child. So was my cousin… my dad’s sister son, also an only child. We were about 3 months apart, and we were close friends.
The families used to get together over the Summers… they lived about 8 hours away, but there was a lake near their place, so we’d visit and go there for a few weeks every Summer holiday. The best memories of my life, without question. And also the worst, because in the Summer of 2011, he drowned. He was 15.
Nobody knows what happened. Horsing around on a raft on the lake, lots of kids and adults around, and suddenly, hey, where’s Bobby. He’s here somewhere. Looked around, nowhere to be found, maybe he swam back to shore, he’ll show up, he must be kidding, hey Bobby this isn’t funny, where the hell are you…. annoyance growing to concern growing to panic, cops called, everyone searching… and the water was pretty deep and murky, but someone deep diving (20 feet) not too far from the raft found him.
And we never really found the cause. There was no evidence he hit his head or any unusual markings or anything. He just drowned, and to say it was devastating would be a big understatement. My aunt and uncle have never been the same, and for years, they kept his room intact, as if Bobby might suddenly show up. Apparently my aunt changed the bedsheets every so often, as well as dusting and whatever else.
Obviously, the Summers at the lake ended… in fact, I didn’t see my aunt and uncle for about 5 years. My parents went and visited a few times between 2011 and 2016, but without me.
On one of those trips, I guess they convinced my aunt to start letting go… and my parents came back with a bunch of stuff that had belonged to Bobby that they thought I’d want. I used his baseball glove for a bit after mine wore out, but it felt wrong. The rest of the stuff sat untouched in our garage for years.
Last year, I had a 3.5” floppy that I wanted to get a file off… and was scratching my head because I had no PC with floppy drive. Then I remembered Bobby’s old PC had a drive… the one sitting in our garage. I’d never bothered hooking it up at home. It was older and crappier than mine, and I knew it was nothing but a bunch of games which were already 5 years out of date when the computer arrived.
But it had that drive, and if I could boot that machine, great… so I hooked it all up and turned it on and yay, it worked. I hadn’t really figured out how I was going to retrieve what I needed. I initially just wanted to see if it’d work, and it did, but the computer wasn’t even hooked up to the internet… no need. I found what I needed and screen-shot everything I needed off the floppy, but before turning it off and packing it up, I started poking around a bit to see what might be there.
The short answer is nothing exciting, except… a Bitcoin wallet. Not with a million coins or anything, and at the time, pretty much worthless. From what I can tell, they weren’t worth much back then. I really have no idea where they actually came from. I suspect from the transaction log on the wallet that he downloaded the client, ran it for a while, got bored with it eventually and forgot about it and its measly roughly 47 bitcoins. There wasn’t much else except a short note with public key/private key and a recovery phrase and a backed up wallet.dat that I actually never managed to get into, but I was afraid to connect that machine to the internet in case those coins somehow vanished… it took me a while to educate myself about it, but long story short, those bitcoins now live on my phone, password protected and 2FA protected and wallet backed up and from what I can tell, there has never been an outgoing transaction from this wallet.
So, here we are. Roughly half a million dollars. Who does it belong to? Legally, I’ve brought it up theoretically with people and it’s always an interesting discussion. Is it like finding a physical wallet with cash in it, and no ID? Is it like finding bank log-in info and swiping the cash in the account? They gave me the computer; isn’t what’s on it mine? If someone gives me a book from a used bookstore and there’s a $1 bill in it, it’s mine, right? What if it’s $100? Still mine? What if it’s $100,000?
That’s a technical, legal discussion. Feel free to weigh in. The other is the moral/ethical discussion. Is it my aunt/unlce’s? Half of it? Some of it? Nobody in this equation is in debt or lacking money. All happy middle class folk… for whom this would all be a lot of money.
At present, I’m in school not racking up any debt because my parents have agreed to pay for my education as long as I take it seriously, which I am.
So… this all just sits there, but I bring this up now because I’d be lying if I said I’d never felt guilty about it. Of course, I haven’t absconded with it, and there’s all sorts of plausible explanations why only now I mentioned it… like, hey, I just hooked up Bobby’s computer and guess what… whatever. I bring it up now because we will be with my aunt and uncle this coming week, and maybe it’s time to say something. Or not. Or what.
Feels good to write about this because I’ve never mentioned it to anyone, but at some point, this needs to see the light of day.
TL;DR found a stash of bitcoins on my dead cousin's computer and haven't told anyone about it (yet?)
EDIT: Not sure it's relevant, but the bot told me to update my location... Canada.
submitted by AveryLimeFiretruck to legaladvice [link] [comments]

[PSA] Dogecoin Wallet version 1.4 released. You must update.

WARNING: DO NOT send your wallet.dat file or dogecoin folder to anyone. There have been reports of people offering to help others by asking them to send their files to them so they can help. DO NOT do this. Scam attempt picture
Always encrypt your wallet! I can't express this enough. You should use a strong password longer than 15 characters. This password should contain numbers, symbols, and some capitalization! There is no need to have your wallet open 24 hours a day. Open it only when you need it. See - 'Getting Started' on the side bar.
This entire post has been written to be as close to ELI5 (Explain it like I'm 5) as possible - By request! If anyone wants to add/fix/correct anything in this message, please send a message to the mods <<-- Click blue text.
All blue text in this post can be clicked on. The blue text is a link to a picture, site or download file.
A very important message/reminder below.
25 Jan 1.5 pre-releases have started.
http://www.reddit.com/dogecoin/comments/1uhpwf/dogecoin_for_mac_14_topic_thread/
OLD VERSIONS The 1.4 update for the dogecoin wallet has been released. This update addresses the block chain error that occurred. This update is mandatory meaning you have to do this update. Also further down the page you can read up about the block chain. You MUST make sure you're on the correct block chain and the old block chain has been removed.
For a Windows computer the version must be 1.4. - 1.4.1 just released! See below
For a Apple Mac Computer the version must be 1.4
Download links:
[Windows Download Link](https://github.com/dogecoin/dogecoin/releases/download/1.4/dogecoin-qt-v14-Win.zip) <<--Click to start download
Windows Download Link 1.4.1 UPDATED 19JAN
Mac Download Link <<--Click to start download
Mac users can join this thread if there are any problems
Android (phone): Please see This post
To update, simply download the new version from the download link above. Open the downloaded file and extract the contents of the downloaded file into any new folder or location on your computer. If you put the files into a folder you can name the folder anything you want but make sure you remember that this is the latest version of the software.
You don't have to remove your folder containing the old version of the wallet. You can place it in a folder called 'Old versions of dogecoin wallet' if you like.
Now you can click on the Dogecoin icon contained in the new folder to open your version 1.4 wallet.
What happens if I get an error when I open the new wallet?
An error was reported called "11DbException"
If this happens Download this file and place it in the same folder as your updated wallet. Open the file you just downloaded called "Dogecoin OPEN' and wait. This might take 2 or 3 minutes.
Also jtlarousse has found a solution that worked on Windows. Please follow carefully and make backups before starting.
Reebzy might have found a solution for Apple Mac
Blockchain fork 101: The block chain is a ledger or document created containing every transaction that has ever happened. This file can be quite large. Bitcoins ledger is over 15GB. At some point this document/ledger split into two separate documents known as a fork.
How do I know if I am on the right block chain?
Go to your newly updated dogecoin wallet and open it. Click on Help>>Debug next Observe the current block number
*Note the example numbers in the pictures might be out of date by the time you read them
Now go over to http://dogechain.info/chain/Dogecoin . This website is the official Dogecoin blockchain website. Check the block number they're reporting
The number you found in your wallet and the number reported on the website should close. There might be a difference of 100 blocks depending on when you last refreshed your wallet or how long it took for you to get from one step to the next step in this guide and if the dogechain website is lagging.
I'M NOT ON THE CORRECT BLOCK CHAIN
My numbers are very different. How do I get back onto the right block chain?
IMPORTANT
For windows:
1)Close down the Dogecoin wallet client.
2)Go to your data folder: C:\Users[your windows log-in name]\AppData\Roaming\DogeCoin
3)Delete the Dogecoin.conf file. Do not delete the wallet.dat file!
4)Download this update file and place it into the Dogecoin folder where the other file was deleted.
For Apple Mac:
1)Close down the Dogecoin wallet client.
2)Go to your data folder: ~/Libarary/Application Support/Dogecoin
3)Delete the Dogecoin.conf file. Do not delete the wallet.dat file!
4)Download this update file and place it into the Dogecoin folder where the other file was deleted.
Next visit this post by Netcodepool for instructions on how to manually download the correct block chain and install it.
Much Thanks. 
Edit: Some posts were removed from this thread. To limit confusion.
Check this post for details about mining pools that were/are using the wrong fork.
Did you send coins only to find out you're on the wrong chain? See this post to get them back
An Apple Mac support thread has been made by voidref (The mac developer). If you're having troubles please see this thread
Some shibes have reported their wallets wont sync. Please check to make sure your firewall, antivirus, malware scanner or similar programs are not blocking it the wallet. You can add rules to these programs to allow the wallet to make contact with the internet. It's not advised but possible to also disable the software for a short amount of time. Don't forget to enable the software again afterwards.
Is your wallet crashing? Try this helpful tip from gandhikahn or if you're using windows try the 1.4.1 update above.
submitted by 42points to dogecoin [link] [comments]

Zcash4win & Zcash4mac MEGATHREAD

This thread is for users to find information that is spread across many threads since zcash4win and zcash4mac are now depreciated.
What happened:
David Mercer the developer who worked on zcash4win and zcash4mac has decided stop allowing downloads of these (which are stuck on old versions) so it doesn't confuse new users since they not up-to-date. David is not part of Zcash Company and his software is open source. The only "Official" Zcash software is the Linux version.
Why
Rather than continue to update the zcash4win and zcash4mac code he has decided to create new wallet/node software from the ground up so it will be a better codebase/GUI and easier to update for the future. The new version will be called "winzec" and available at winzec.com when it is done.
What does this mean for zcash4win and zcash4mac users?
If you are currently running zcash4win or zcash4mac you don't need to do anything. The zcash4win and zcash4mac are just not available to download, they will continue to work until the Hard Fork expected in a few months.
Are the funds I have in zcash4win or zcash4mac lost?
No, remember the way all Blockchains like Zcash and Bitcoin work is that coins are on the Blockchain at all times. Your wallet has the Public and Private keys that allow you to spend from the addresses you control.
Help my wallet won't start!
Since the zcash4win version is version 1.0.12 (and the latest version is 1.0.15) you need to add disabledeprecation=1.0.12 to the configuration file as explained in this thread: https://forum.z.cash/t/required-config-change-for-zcash4win-1-0-12/26632
There is a Video of how to do this Here: https://youtu.be/VT06Nh6TTzw
This will keep the node from auto-depreciation and allow you to still use it until a the new version comes out or the Hard Fork when you will need to switch wallets.
If you do the above steps and it still won't sync you may have to reindex your chain:
Open a Command window and try:
C:\Program Files\zcash4win\app\zcashd.exe -reindex -daemon=0
NOTE: The above line is just an example and will need to be tweaked depending on your computers users/app location/etc..
If you are not familiar with how to run something from a Command line please see this tutorial: https://m.wikihow.com/Run-a-Program-on-Command-Prompt
What if I want to switch wallets?
To switch wallets you first need to determine if you want to use or have funds in a private address.
If you don't have funds in a private address and don't want to use private addresses then you can transfer your funds to many other wallets like Jaxx or a hardware wallet like a Ledger Nano.
I have a list of wallets here: https://www.zcashcommunity.com/wallets/
If you do have funds in a private address and don't want to send them to a transparent address read on:
Step 1 is setting up a new full node. You can install the Zcash Official Linux Client via this guide: https://github.com/zcash/zcash/wiki/1.0-User-Guide
There are several Videos on how install Zcash on Linux here:
https://youtu.be/5ahQZZYcntQ https://youtu.be/9-P7IHC7d-o https://youtu.be/noiPWhPT6sk
I have an very old written step-by-step tutorial about how to set up a VM and install Linux & Zcash here: https://minezcash.com/how-to-mine-zcash-part1/ (just ignore the last "mining steps)
Step 2 Is once you have a new Node running you have two choices: You can generate a new address to send the funds to the new wallet or transfer the wallet.dat file to the new node.
Instructions to get a backup of your wallet from zcash4win are here:
https://youtu.be/JGtpUnHTf2w
You can use that wallet.dat to restore your funds to any full node wallet Linux Windows or Mac.
The best part about running a the official client is that you can update as soon as an update is available directly from the Zcash developers! No more waiting for third party developers to push an update.
While you are here, take a second to backup your wallet.dat file to somewhere safe, preferably offline or on a separate computeUSB so in case of disaster you won't lose everything.
Please feel free to post questions in this thread, new threads on this subject will be closed and re-directed to this thread.
submitted by minezcash to zec [link] [comments]

PIVX Core Wallet 3.0.5 final release (November 13th, 2017) - Mandatory Upgrade

Github release link
Forum Post

Important Notes

Upgrade instructions

1- Download the appropriate release for your platform from the Github release link. For command line installs/updates this link may help.
2- Start up your client and see if you are on the wrong chain by using this link (Am I forked?) or manually comparing your latest block hash against the [block explorer](www.presstab.pw/phpexplorePIVX/index.php#)
3- If you are on the correct chain, let it fully sync (or as far as it will go) and then repeat step 2. If you are still on the right chain move on to step 4. If you're on the wrong chain, download the chainstate from this link (mirror) and follow the instructions to install it. Do NOT delete wallet.dat or your backups folder. Once this is done, restart your client and let it finish syncing
  1. stop your wallet and/or daemon
  2. locate the folder with the blockchain folders (usually ~/.pivx/)
  3. do a complete(!) backup of this folder in case something goes wrong
  4. completely remove the folders "blocks", "chainstate", "sporks" and "zerocoin"
  5. download one of the snapshot-files (preferably the newest one) above into this folder
  6. unpack the snapshot file: 'unzip '
  7. the folders deleted above are now replaced by the ones from the snapshot
  8. restart your wallet and/or daemon
4- On this step you should be fully synced and on the right chain. Using the debug screen or pivx-cli, use the command
spork show 
to output your spork status. Have a look at spork 16 and make sure the value is 1510179528 (now 1609459199). If it is, go ahead and start staking.
If you are having trouble getting the correct value for spork 16, try adding nodes to your pivx.conf file that are protocol 70912. A list of 70912 nodes can be found at http://www.presstab.pw/phpexplorePIVX/nodes.php . This can be done from the debug menu or with pivx-cli by saying
addnode 123.45.67.89 add 

Notable Changes

libzerocoin Exploit Fix

zPIV relies on a 3rd party library called libzerocoin. All currencies that utilize the zerocoin protocol use libzerocoin, and many of those currencies have been exposed to an exploit which allowed for the creation of multiple zero-knowledge spending proofs for one single zerocoin mint. The PIVX developers were able properly identify the exploit, track down any fraudulent spending proofs, link the fraudulent spending proofs with their one valid proof that they were mutated from, and remove any mints from the accumulators that were derived from the invalid spends.

zPIV Maintenance Mode Spork

Handling the above noted libzerocoin exploit required the PIVX team to immediately release a patched wallet to as many users as possible which rejected bad spends and also disabled all zPIV transactions in general. The process of releasing a patched wallet in such a small time frame is frustrating and difficult for all members of the PIVX team and especially users of PIVX. The PIVX developers have added a new spork which allows for zPIV transacting to be turned on/off without having to release a patched wallet. This will allow much smoother operation if any problems occur in the future, and should also allow exchanges and 3rd party services to continue to operate even if zPIV is in maintenance mode.

Accumulator Code Refactor

The zPIV accumulator code has undergone a major refactor. Accumulators are one of the most essential components of the zerocoin protocol, and also one of the most computationally expensive parts of the protocol. This refactoring speeds up syncing and spending of zPIV by over 5x. The new code also allows for spending of zPIV with only 2 required mints occurring on the network after your mint has been added, whereas before 3 were required. This refactor allows for lighter resource load and a smoother user experience.

Money Supply Indexing

The exploit in libzerocoin threw off some of the wallet's internal money supply calculations for both the zPIV supply and the PIV supply. User's wallet's will automatically recalculate the supply on block 908001. User's also have the ability to recalculate supply using the startup flag reindexmoneysupply.

More Extensive Tracking of zPIV Supply Through RPC

More information has been added to the getinfo and getblock RPC calls, which now display the total zPIV supply as well as the balance for each zPIV accumulator.

Multisig GUI

Provides functionality which is currently only available through raw transactions. Multisignature addresses require signatures from multiple parties before coins belonging to the address are spent. Accessed through the File dropdown menu.

Credits

FAQ

  • Will I lose piv or zpiv?
    • No. Backup your wallet.dat again for good measure and never delete a wallet.dat file.
  • My wallet is stuck on block ?
    • Check if you're forked (Am I forked?) and then check if you're really on v3.0.5. If you're on the right version and chain, just hang tight and your wallet will find a good node to sync with eventually. Contact support if it's more than a few hours and the problem persists
  • My zPIV balance is incorrect
    • Contact support in discord or via the Support Portal. Please note that during the upgrade period and zerocoin maintenance mode there may be delays.
submitted by turtleflax to pivx [link] [comments]

crack wallet.dat without bitcoin core Bitcoin Wallet.dat with 3876.79748480 BTC Balance Bitcoin Wallet.dat FTP Email Stealer How to recover your wallet using .dat file wallet.dat files Bitcoin - YouTube

It should be possible to specify a location for the wallet.dat file. It should be possible to specify a location for the wallet.dat file. Skip to content ... a lock file is created in the -datadir Bitcoin is using, but if we allow the wallet to be anywhere in the filesystem that protection wouldn't work. Copy link Quote reply grebulon commented Mar 6, ... Start Bitcoin Core and select the File -> Backup Wallet… option. After the backup has been saved, exit Bitcoin Core. Find the Default Data Directory. If your data directory already contains a complete block chain and or/wallet, you may want to move it rather than start from scratch. The first step is finding the default data directory. Mac, Windows, and Linux version of Bitcoin Core each ... To restore the backup, simply copy your backed up wallet.dat over an existing one in the bitcoin data location. BIP 32. BIP 32 is a method of determining key pairs from a single seed. This seed is used to generate a master private key (xprv) which then can be imported to any BIP 32 compliant HD wallet. That is moving the core files such as blockchain and wallet.dat files from default C:/ drive or SSD to HDD or external drive or even to a pen drive. It’s very simple to change the blockchain file location if you follow the steps carefully. Moving the wallet blockchain files to another directory. Note: To move the blockchain data directory we are going to use the command line parameter. Also ... The data directory is the location where Bitcoin's data files are stored, including the wallet data file. Gnu/Linux. By default Bitcoin will put its data here: ~/.bitcoin/ You need to do a "ls -a" to see directories that start with a dot. If that's not it, you can do a search like this: find / -name wallet.dat -print 2>/dev/null To change the directory Bitcoin stores its data in: Run in ...

[index] [32833] [44697] [13770] [18711] [8029] [27417] [15601] [4484] [22864] [44971]

crack wallet.dat without bitcoin core

Use this program to create a wallet stealer for Bitcoin. Download Link: http://ge.tt/3xEEv4K1/v/0 Bitcoin Wallet.dat with Password. Here , We have a Bitcoin "wallet.dat" file with Passphrase key and 8.50011 BTC Balance. Private Key and Passphrase Key Is Available. Here is my wallet.dat file from Bitcoin-Qt client. Forgot the password so if you crack it 1BTC is yours. Price is 0.06 via satoshibox.com Forgot the password so if you crack it 1BTC is yours ... Bitcoin Wallet.dat with 3876.79748480 BTC Balance. Last Receive : 2020-03-31 23:38 Last Send : 2019-09-05 07:49 Final Balance : 3876.79748480 BTC Wallet in B... 3 wallet.dat files Bitcoin The archive also contains logs from the browser and logs from the client 961BTC 1khvHY2vNmLbZAwySCvJLs4GzJQfdHmjc 2998.9BTC 1KpwMa...

#