How can I tell when bitcoind has found a block?


There are two variations of the original bitcoin program available; one with a graphical user interface (usually referred to as just “Bitcoin”), and a 'headless' version (called bitcoind). They are completely compatible with each other, and take the same command-line arguments, read the same configuration file, and read and write the same data files. You can run one copy of either Bitcoin or bitcoind on your system at a time (if you accidently try to launch another, the copy will let you know that Bitcoin or bitcoind is already running and will exit).

The simplest way to start from scratch with the command line client, automatically syncing blockchain and creating a wallet, is to just run this command (without arguments) from the directory containing your bitcoind binary:

These commands are accurate as of Bitcoin Core version v0.12.0rc1.

Command Description -? This help message -alerts Receive and display P2P network alerts (default: 1) -alertnotify=...
0 0

We are often asked by users if there is a way to tell when the recipient of a message has opened or read the message. There isn't any way for EarthLink to know if a remote recipient has read your message, but there are third-party applications you can install on your own computer that work with some popular email applications like Outlook. These will not work with Web Mail, and I'm not recommending any of them here, only mentioning that they exist. You can find them on Google.

These applications work by embedding some HTML code in the outgoing message so that when viewed by the recipient, it will send a ping back to the application on your computer and tell you when the message was opened. The reliability isn't 100%, as the recipient could be using a plain-text email reader that doesn't activate the embedded HTML, or various security tools on their own computer that will block this mechanism without the user even knowing it was there in the first place. It can also be...

0 0

Hi folks,

up to now, I did some pooled mining on as I was lacking some "serious" hardware. Now I set up a bitcoind server on my local net with 4 clients. Now I was wondering how to correctly monitor the creation of bitcoins, just to keep an eye on the overall progress of creating a block. When I query the server with getinfo it returns:

"version" : 32100,
"balance" : 0.00000000,
"blocks" : 129788,
"connections" : 6,
"proxy" : "",
"generate" : false,
"genproclimit" : -1,
"difficulty" : 567358.22457067,
"hashespersec" : 0,
"testnet" : false,
"keypoololdest" : 1306930496,
"paytxfee" : 0.00000000,
"errors" : ""

That doesn't tell me that much, does it? On the web-based pooled mining site you have this clear overview of how much your workers have calculated so far. It would even be sufficient to see the cumulated local miner pool performance in...

0 0

Is it possible to cancel a Bitcoin transaction ...

... which was not yet broadcasted?

Yes, obviously it is possible. I'd propose you choose this method in your Bitcoin app by showing the user a confirmation screen for some seconds with information about the transaction and some buttons saying cancel and confirm. @nahtnam proposed a 60 minute delay which is too much, considering you may loose internet access or want the transaction to appear in the block chain as soon as possible.

... which was already broadcasted?

No, very unlikely. To cancel such a transaction, you'd need to create a block yourself which moves the inputs of the original transaction to one of your own addresses. (Effectively invalidating the original transaction.) However, creating a block costs several thousand dollars as of now and finding a block is not guaranteed.

Another possibility would be to broadcast another transaction taking the same inputs as the original one and...

0 0

some tests i carried out for someone back in march:

"please remember that skype is not a very reliable product, the software is poor
and my findings should not bee taken as being 100% accurate. i’ve probably
missed hundreds of combinations and scenarios and what not. also whilst testing
i found that often skype does not connect \ refresh properly so messages do not
get sent and profiles do not appear properly.

tests were done in version

i looked at three things: can your account see the picture, can your account see contact
numbers, can your account see status tip (the status tip appears when you place
your mouse above the status icon near a contacts name.

the first series of tests were done with the profile pic being public.

when blocked:
- pic is still visible
- can still see contact numbers
- status tip says offline

when deleted:
- pic was invisible which was strange as...

0 0

I'm setting up Monit to monitor the Bitcoin daemon to make sure it runs 24/7 and restarts it if something goes wrong. The Bitcoin binary is at /usr/local/bin/bitcoind, and the data directory is at /home/bitcoin/.bitcoin.

I have told Monit to monitor the daemon through the pid file /var/run/ every 2 minutes and start / stop the daemon as the user bitcoin. However, this is where I've spent countless hours trying to figure what is wrong.

Because I do not have a startup / upstart script for bitcoind, I have it directly pass commands to the binary itself, which can be seen with the following /etc/monit/monitrc file:

set daemon 120 set logfile /var/log/monit.log check process bitcoind with pidfile "/var/run/" start program "/usr/local/bin/bitcoind -pid=/var/run/ -datadir=/home/bitcoin/.bitcoin -daemon" as uid bitcoin and gid bitcoin stop program "/usr/local/bin/bitcoind stop" as uid bitcoin and gid bitcoin if failed...
0 0

The bitcoind package that is available in the universal Ubuntu repositories is a very old version. You could add the bitcoin PPA and then install bitcoind from that; this will get you a stable version of bitcoind that is at most a month or two old. But, if you're the extra careful type, it doesn't hurt your peace-of-mind to have built bitcoind from source yourself.

This tutorial assumes you've already built bitcoind from source. If you haven't done that, go ahead and do that now.


To get addaptrepository, which we will use later to add the bitcoin PPA:


Add the bitcoin PPA to get access to the libdb4dev package:

add-apt-repository ppa:bitcoin/bitcoin update

Now you can install all the dependencies:

libboost-all-dev libdb4.8-dev libdb4.8++-dev

If you're reading this from the future, you may want to check with the readme file(s) to verify that you have all the required dependencies; they may have...

0 0

Identification of the small block Chevy (SBC) engine requires searching for numbers and codes, and referring to sources to help identify size,...

A Chevy small-block intake manifold gasket seals the intake runners and the water ports, and also seals in the oil located in...

The Chevrolet 350-cubic-inch V8 is one of the most popular engines ever produced. It's so common, that you can find derivations of...

Chevrolet is a division of General Motors Corporation. Chevrolet sells cars, trucks and SUVS. Chevy engines are no different than other General...

If you do not know what type of engine is equipped with your vehicle, you're missing a potentially vital piece of information....

The size of a vehicle's engine is an important factor in it's overall valuation. For example, insurance companies use the engine size...

Vehicle do-it-yourselfers need to know what engine they're working on before they head to the auto parts store to buy...

0 0

Firefox protects you from attacks by blocking potentially harmful, insecure content on web pages that are supposed to be secure. Keep reading to learn more about mixed content and how to tell when Firefox has blocked it.

HTTP is a system for transmitting information from a web server to your browser. HTTP is not secure, so when you visit a page served over HTTP, your connection is open for eavesdropping and man-in-the-middle attacks. Most websites are served over HTTP because they don't involve passing sensitive information back and forth and do not need to be secured.

When you visit a page fully transmitted over HTTPS, like your bank, you'll see a green padlock icon in the address bar (see How do I tell if my connection to a website is secure? for details). This means that your connection is authenticated and encrypted, hence safeguarded from eavesdroppers and man-in-the-middle attacks.

However, if the HTTPS page you visit includes HTTP content, the HTTP...

0 0

So I finally got things working on an Ubuntu 14.04 server. Here's what the final, working /etc/init/bitcoind.conf looks like:

description "bitcoind" start on filesystem stop on runlevel [!2345] oom score -500 expect fork respawn respawn limit 10 60 # 10 times in 60 seconds script user=bitcoind home=/home/$user cmd=$home/bin/bitcoind pidfile=$home/ # Don't change anything below here unless you know what you're doing [[ -e $pidfile && ! -d "/proc/$(cat $pidfile)" ]] && rm $pidfile [[ -e $pidfile && "$(cat /proc/$(cat $pidfile)/cmdline)" != $cmd* ]] && rm $pidfile exec start-stop-daemon --start -c $user --chdir $home --pidfile $pidfile -m --startas $cmd end script

It was basically just a lot of guess and check work to get this working. Here's the important bit:

expect fork

Essentially, this is telling upstart how many times the target process will be forked while starting. If you tell it wrong, it'll hang while starting. Read here for the...

0 0

If you look in debug.log, you should see a message that says "proof-of-work found".

Here is an excerpt from debug.log for a testnet block that I found. (It was immediately orphaned; in fact an earlier block had been found several minutes earlier but had not yet reached me. So you won't find it in the blockchain.)

BitcoinMiner: proof-of-work found hash: 00000000609b21ea1d67f7220d12f7e6f06542907fa24511fa416b286e11cb54 target: 00000000ffff0000000000000000000000000000000000000000000000000000 CBlock(hash=00000000609b21ea1d67f7220d12f7e6f06542907fa24511fa416b286e11cb54, ver=2, hashPrevBlock=00000000b96e8a2e2f27bf209a1059fd10b117cdf5a6373559eb93268853bc04, hashMerkleRoot=f25394d1360a276fa5e3c51b245969d193710d06b5bda12468e11074c8740d50, nTime=1383697696, nBits=1d00ffff, nNonce=2576125723, vtx=1) CTransaction(hash=f25394d1360a276fa5e3c51b245969d193710d06b5bda12468e11074c8740d50, ver=1, vin.size=1, vout.size=1, nLockTime=0) ...
0 0

Transaction data is permanently recorded in files called blocks. They can be thought of as the individual pages of a city recorder's recordbook (where changes to title to real estate are recorded) or a stock transaction ledger. Blocks are organized into a linear sequence over time (also known as the block chain). New transactions are constantly being processes by miners into new blocks which are added to the end of the chain and can never be changed or removed once accepted by the network (although some software will remove orphaned blocks).

Block structure


Each block contains, among other things, a record of some or all recent transactions, and a reference to the block that came immediately before it. It also contains an answer to a difficult-to-solve mathematical puzzle - the answer to which is unique to each block. New blocks cannot be submitted to the network without the correct answer - the process of "mining" is essentially the process of...

0 0
0 0

Last updated: 22nd December 2014

In traditional fiat money systems, governments simply print more money when they need to. But in bitcoin, money isn’t printed at all – it is discovered. Computers around the world ‘mine’ for coins by competing with each other.

How does mining take place?

People are sending bitcoins to each other over the bitcoin network all the time, but unless someone keeps a record of all these transactions, no-one would be able to keep track of who had paid what. The bitcoin network deals with this by collecting all of the transactions made during a set period into a list, called a block. It’s the miners’ job to confirm those transactions, and write them into a general ledger.

Making a hash of it

This general ledger is a long list of blocks, known as the 'blockchain'. It can be used to explore any transaction made between any bitcoin addresses, at any point on the network. Whenever a new block of transactions is created, it...

0 0

The getutxo command allows querying of the UTXO set given a set of of outpoints. It has a simple implementation and the results are not authenticated in any way. Despite this, there are times when it is a useful capability to have. I believe @jgarzik also has a use case for this, though I don't know what it is.

As a motivating example I present Lighthouse, an app I'm writing that implements assurance contracts:

Lighthouse works by collecting pledges, which contain an invalid transaction signed with SIGHASH_ANYONECANPAY. Once sufficient pledges are collected to make the combination valid, we say the contract is complete and it can be broadcast onto the network, spending the pledged outputs. Before that occurs however, a pledge can be revoked and the pledged money redeemed by double spending the pledged output. For instance you might want to do this if it becomes clear not enough people care about the assurance...

0 0