code: def get_bitcoind( new_bitcoind_opts=None, reset=False, new=False ):
     
     global bitcoind
  
     if reset:
         bitcoind = None
  
     elif not new and bitcoind is not None:
        return bitcoind
  
     if new or bitcoind is None:
        if new_bitcoind_opts is not None:
           set_bitcoin_opts( new_bitcoind_opts )
  
        bitcoin_opts = get_bitcoin_opts()
        new_bitcoind = None
        try:
  
           try:
               new_bitcoind = virtualchain.connect_bitcoind( bitcoin_opts )
           except KeyError, ke:
               log.exception(ke)
               log.error("Invalid configuration: %s" % bitcoin_opts)
               return None
  
           if new:
               return new_bitcoind
  
           else:
               # save for subsequent reuse
               bitcoind = new_bitcoind
               return bitcoind
  
        except Exception, e:
           log.exception( e )
           return None
docs: Get or instantiate our bitcoind client.
     Optionally re-set the bitcoind options.