The error comes from wallet.cpp: // Sign int nIn = 0; BOOST_FOREACH(const PAIRTYPE(const CWalletTx*,unsigned int)& coin, setCoins) if (!SignSignature(*this, *coin.first, wtxNew, nIn++)) { strFailReason = _("Signing transaction failed"); return false; }
SignSignature is two functions, the former is called, and the False status is returned by the final VerifyScript call. bool SignSignature(const CKeyStore &keystore, const CScript& fromPubKey, CTransaction& txTo, unsigned int nIn, int nHashType) { assert(nIn < txTo.vin.size()); CTxIn& txin = txTo.vin[nIn];
// Leave out the signature from the hash, since a signature can't sign itself. // The checksig op will also drop the signatures from its hash. uint256 hash = SignatureHash(fromPubKey, txTo, nIn, nHashType);
txnouttype whichType; if (!Solver(keystore, fromPubKey, hash, nHashType, txin.scriptSig, whichType)) return false;
if (whichType == TX_SCRIPTHASH) { // Solver returns the subscript that need to be evaluated; // the final scriptSig is the signatures from that // and then the serialized subscript: CScript subscript = txin.scriptSig;
// Recompute txn hash using subscript in place of scriptPubKey: uint256 hash2 = SignatureHash(subscript, txTo, nIn, nHashType);
txnouttype subType; bool fSolved = Solver(keystore, subscript, hash2, nHashType, txin.scriptSig, subType) && subType != TX_SCRIPTHASH; // Append serialized subscript whether or not it is completely signed: txin.scriptSig << static_cast<valtype>(subscript); if (!fSolved) return false; }
// Test solution return VerifyScript(txin.scriptSig, fromPubKey, txTo, nIn, SCRIPT_VERIFY_P2SH | SCRIPT_VERIFY_STRICTENC, 0); }
bool SignSignature(const CKeyStore &keystore, const CTransaction& txFrom, CTransaction& txTo, unsigned int nIn, int nHashType) { assert(nIn < txTo.vin.size()); CTxIn& txin = txTo.vin[nIn]; assert(txin.prevout.n < txFrom.vout.size()); const CTxOut& txout = txFrom.vout[txin.prevout.n];
return SignSignature(keystore, txout.scriptPubKey, txTo, nIn, nHashType); }
That's all fun, but I think the problem here is there is garbage bytes written over the wallet.dat, or the berkeleydb store is corrupted, such as pointing to the wrong disk area for information. Time to rename this wallet and restore your wallet.dat backup, easy. Oh, no backup... Well, make a backup now: copy the wallet.dat you've got to a backup filename. Then restart bitcoin with the -salvagewallet option to scrape wallet information into a new database.
|
|
|
It is not simply "signing", it is spending valid payments you have previously received.
Bitcoin needs to at least know about how your payment is funded; it must have received the blocks and transactions that sent you money. If another wallet has your addresses or private keys and you are using it, you can create a situation where you already spent the money you are sending, allowing your old-blockchain bitcoin to make a double-spend that will never confirm.
You can send a transaction using Bitcoin offline - when you do reconnect your computer and run bitcoin, it will eventually retransmit the transaction to the network.
|
|
|
the max connections i seem to get with 0.8.5 is 8, with 0.8.1 i was getting about 28, on the same computer. and with version 0.8.1 it would only have taken me moments to sync the 9 days
anyone any ideas?
Hitting the 8 connection limit lets me believe that you are behind a nat device. You need to port forward to the computer running Bitcoin. It's possible that the IP address of your computer has changed via DHCP if you previously set up port forwarding, and now inbound connections are being sent to the bit bucket. Only one copy of Bitcoin can run well behind a consumer router, as you need to let port 8333 inbound to only one machine.
|
|
|
There is a python protocol implementation called pynode that does some basic stuff like getting the blockchain. The bitcoin code is complex and fragile, it is the product of several years of continuous development by multiple individuals, so it can't be replicated without a LOT of work.
|
|
|
http://www.thesnugg.com/news/2012/10/82000-chrome-users-infected-by-angry-birds-virus/What an approved app store app can do: It can also harvest personal data, such as credit card numbers and passwords, leaving Chrome users open to serious fraud and identity theft.Chrome bypasses administrator security checks by storing itself in the user profile instead of as an installed application. The best thing to do is wipe the %temp%, the user profile where google has stored stuff, remove anything google-installed including google updater (which can be very hard, it's like a virus, inserting itself as services, task scheduler tasks, etc.) and never let software from an advertising company run on your computer again. No promises that there isn't a trojan that escaped from the browser, but the malware could just be phishing and storing passwords in the browser sandbox. The last three months of chrome vulnerabilities, it's multiple pages: http://web.nvd.nist.gov/view/vuln/search-results?query=chrome&search_type=last3months&cves=onJust a recent advisory: http://msisac.cisecurity.org/advisories/2013/2013-099.cfm
|
|
|
Unbelievable that you are still posting here trying to get people to send money to your scam site. Let it be known that the site op will brazenly steal your funds if the payment confirms after the bet closes, which can easily happen if using a web wallet. It won't go into an account on the site, he'll just take it. Over $16,000 worth documented. https://bitcointalk.org/index.php?topic=339544.0
|
|
|
Now the question, point my remaining GPU at the pool for over a month to try to get my 0.005 over the threshold...
Cute that I mine for an hour and the whole domain disappears from the net.
|
|
|
Too bad I left my pocket change on this pool and hadn't checked in for a year... Balance 0.04906911 is not insignificant now...
|
|
|
i really don't understand the part about not letting your backup wallets touch the internet. If its well encrypted on a computer with a fresh linux install, no additional software and every port locked down except 8333, how on earth could anyone ever unlock your wallet? you should be able to post it publicly here on the forums with bold letters "this is my wallet" and have 0 concern. I scatter copies of my backup wallet over the internet like seeds to the wind. That just seems smart to me, but maybe I'm missing something.
Wallets don't start out encrypted, instructions must not give bad advice to those who haven't encrypted their wallet or have a wallet with previously-unencrypted addresses in them. Good security relies on something-only-you-have + something-only-you-know. You don't want to reduce that to something-only-you-and-I-have + a-password-only-you-know-that-could-be-your-reused-hackackable-password.
|
|
|
received block 00000000000000059a79f3ca43ec398f5e47d36c4257aadf8de7711ce375c2bd InvalidChainFound: invalid block=00000000000000059a79f3ca43ec398f5e47d36c4257aadf8de7711ce375c2bd height=273050 log2_work=74.487248 date=2013-12-04 16:27:28 InvalidChainFound: current best=000000000000006b466577ecb823f117f86f77ef22a8eefa78d138ecbda6e890 height=198855 log2_work=68.701384 date=2012-09-15 08:05:19 InvalidChainFound: Warning: Displayed transactions may not be correct! You may need to upgrade, or other nodes may need to upgrade. ProcessBlock: ACCEPTED I suspect that you don't have the latest version of Bitcoin-Qt, and/or the blockchain you have already downloaded is corrupted or invalid. The 'orphan' messages in your logs are normal for an out-of-sync Bitcoin, those are "live" transactions broadcast from other Bitcoin users, using funds that haven't been seen in the blockchain that you have downloaded yet. The "current best" is the last block that your client has downloaded and recognized as valid. The 273050 "invalid chain" block is the most recent real block that was broadcast to your client when it was found; bitcoin doesn't know what to do with that because it doesn't have the required previous blocks. The solution to your problem is going to be as I described above: 1. Get one of the linked 0.8.5 test builds that should solve the frequent OSX corruption problem in recent Bitcoin-Qt versions, 2. In the bitcoin data directory, remove the blockchain you've downloaded so far, by deleting the "blocks" and "chainstate" subdirectories, 3. Optional: for faster initialization, get the bootstrap.dat torrent and put this in your data directory before starting bitcoin (instructions: https://bitcointalk.org/index.php?topic=51456.0), 4. Start Bitcoin and patiently download blocks again.
|
|
|
- Mandatory: Live CD reboot your real hardware (no virtual machines) - Get the address.org.html from github: https://raw.github.com/pointbiz/bitaddress.org/master/bitaddress.org.html- Verify file checksum, - Single address at a time per paper wallet and entropy set, - All that is needed is an address + wif privkey (bitaddress.org gets this wrong with too much info), choose compressed addresses, - Print and preserve the wallet like they were $10000 bills, but ones that can have backups. I thought I'd point out that on your site in general, the cross site requests are blocked by requestpolicy, and one of your css filenames catches default adblock rules, making it look like this: ![](https://ip.bitcointalk.org/?u=http%3A%2F%2Fwe.lovebitco.in%2Fimg%2Fbadblog.png&t=663&c=2l2i-qq3UVeKPw) My site with no off-site requests, I could host a blog page here for you, but would probably write my own uber-paranoid version of "paper wallet": ![](https://ip.bitcointalk.org/?u=http%3A%2F%2Fwe.lovebitco.in%2Fimg%2Fgoodblog.png&t=663&c=Qno4bFYVMbmKYg)
|
|
|
Forgot to mention... the following python util, linearize.py I tried this link today, but I got a 404 file not found message. Is this download still available? You can create the bootstrap.dat with pynode. It will get it's own copy of the blockchain from a single IP (your own bitcoin), and you can then create the file with mkbootstrap.py.
|
|
|
Since the crash and hack of the website every time i log in to my account and try and message, or post, or do anything that involves submitting anything to this forum i get the following error message
You were able to make this post, so the information you give cannot be true. The rate of posting is limited so one newbie-status spammer doesn't immediately make 100 posts that have to be followed up on and deleted. If you were legitimately not able to create a second post after waiting over six minutes, then this is an issue that could be looked at by the site admin (not mods) if you keep logs of your IP address and the times you pressed "post".
|
|
|
The details of understanding are a lot less work than recoding, although the coding can be a path to deeper understanding.
Valid blocks are just the longest chain, it is easy to follow the hashes and the difficulties of blocks through and make the same decision about block difficulty. You'll have to use the full and exact rules that bitcoind does when examining every block and transaction though if you aren't using a vetted-by-bitcoin blockchain. If you have a network client that doesn't do any deep inspection, it could easily follow a low-difficulty, invalid rule chain. From the last fork, we see even the smallest details of implementation have to be replicated.
If you want to verify transactions and hold the UXTO set, then you need to build a database, and work through every transaction ever. You'll have to verify the ECDSA signature, and run and validate the scripts. Rules changed at particular blocks, you'll need to reproduce BIP checkpoints and the code that checks them.
You can trust what's in a saved-by-bitcoin blockchain and just parse it. The next step in complexity is called "rewrite Bitcoin".
|
|
|
OP UPDATING! Was away for a while and I'm just now getting back up to speed on the latest happenings with BTC.
My thinking is the coins never actually existed. I dumped the private keys and rescanned the wallet, the balance returned to 0, and the unconfirmed transactions vanished. The Tx IDs, when looked up on blockchain.info return nothing.
The wallet is too big to import into blockchain.info. Is there any other ways of attempting to getting the coins back or are they gone?
There are no coins. Said dice site created and accepted long chains of unconfirmed transactions.
|
|
|
so if you download bitaddress.org how do you know that the version you have saved is correct?
A signed list of hashes:
|
|
|
Your miner also needs to regularly get new work from the pool. You are given a certain amount of hashes to do, which is based on an assembled block that the pool wants to add to the blockchain. As soon as there is a new blockchain block made by anyone, or the pool adds some more transactions to the block they are creating, your offline work is obsolete.
|
|
|
Thanks to all who replied and gave me advice, but I'm afraid that I'm still in the same place I was when I started this thread. I thought that I had lined up someone in Seattle to help me over the weekend, but said person is MIA via PM (understandable, holiday weekend after all).
Anyways, I was going to try what some of you suggested and move my private keys without using pywallet. I cannot for the life of me figure out how to do what you guys are suggesting-- using a debug console under the help menu. My version of btc-qt does not have any "help" option whatsoever. It is version 0.6.2 for linux. If I update to the latest version of qt, will it then have the debug console available? Am I missing something more fundamental?
Anyways, if anyone tries to explain this to me, please treat me like your un-tech savvy grandma, because I probably don't know much more than her anyway.
ps-still hoping for someone to help me in person, I think that someone who knows what they are doing could look at my stuff and figure it out really quick.
You must upgrade to the latest version. Not only will you have features we expect you to have, but you are vulnerable to certain network attacks and the blockchain will contain blocks that cause your client to fork hopelessly. http://sourceforge.net/projects/bitcoin/files/Bitcoin/bitcoin-0.8.5/bitcoin-0.8.5-linux.tar.gz/downloadRun it and let it reindex. Have 12GB free. The easiest way to fix your problem is to use pywallet after backing up your wallet.dat: start it with the option pywallet.py -web, go to the address ' http://localhost:8989, go to the delete tab, and delete the non-confirming transaction number. Just note, you may not "magically" get back bitcoins if they were never yours to start with: https://109.201.133.195/index.php?topic=329954.msg3570589#msg3570589
|
|
|
|