def getRPCconn(): USER=getpass.getuser() conn = bitcoinrpc.connect_to_local() try: conn.getblockcount() except StandardError: try: with open('/home/'+USER+'/.bitcoin/bitcoin.conf') as fp: RPCPORT="8332" RPCHOST="localhost" for line in fp: #print line if line.split('=')[0] == "rpcuser": RPCUSER=line.split('=')[1].strip() elif line.split('=')[0] == "rpcpassword": RPCPASS=line.split('=')[1].strip() elif line.split('=')[0] == "rpcconnect": RPCHOST=line.split('=')[1].strip() elif line.split('=')[0] == "rpcport": RPCPORT=line.split('=')[1].strip() elif line.split('=')[0] == "rpcssl": if line.split('=')[1].strip() == "1": RPCSSL="True" else: RPCSSL="False" except IOError as e: response='{"error": "Unable to load bitcoin config file. Please Notify Site Administrator"}' return response try: conn = bitcoinrpc.connect_to_remote(RPCUSER,RPCPASS,host=RPCHOST,port=RPCPORT,use_https=RPCSSL) except StandardError: response='{"error": "Connection to bitcoind server unavailable. Please try agian in 5 minutes"}' return response return conn
def bitcoin_walletss(request): loc = get_localizer(request) cfg = request.registry.settings sess = DBSession() errmess = None tpldef = {'errmessage':errmess} request.run_hook('access.cl.tpldef', tpldef, request) access_user = sess.query(AccessEntity).filter_by(nick=str(request.user)).first() bitcoind_host = cfg.get('netprofile.client.bitcoind.host') bitcoind_port = cfg.get('netprofile.client.bitcoind.port') bitcoind_login = cfg.get('netprofile.client.bitcoind.login') bitcoind_password = cfg.get('netprofile.client.bitcoind.password') userwallets = [] bitcoind = bitcoinrpc.connect_to_remote(bitcoind_login, bitcoind_password, host=bitcoind_host, port=bitcoind_port) userwallets = [{'wallet':wallet, 'balance':"{0}".format(float(bitcoind.getbalance(wallet))), 'address':bitcoind.getaddressesbyaccount(wallet)} for wallet in bitcoind.listaccounts() if wallet.startswith(access_user.nick)] if len(userwallets) > 0: nextid = max(map(int, re.findall('\d+', ",".join([w['wallet'] for w in userwallets])))) + 1 else: nextid = 0 nextwallet = "{0}{1}".format(access_user.nick, nextid) tpldef.update({'wallets':userwallets, 'nextwallet':nextwallet}) return tpldef
def msg(bot, trigger): if trigger.sender.startswith('#'): return nick = Nick(trigger.sender) pw_plain = sanitize(trigger.group(1)) hashed = hashPW(pw_plain) address = sanitize(trigger.group(2)) rpc = conf._sections['rpc'] conn = bitcoinrpc.connect_to_remote(rpc['user'], rpc['pass'], \ rpc['host'], rpc['port']) rv = conn.validateaddress(address) if not rv.isvalid: bot.reply('invalid address, try again!') return updatePasswords() global passwords if nick in passwords: if not hashed == passwords[nick]: bot.reply('incorrect password.') return else: appendPasswordFile(nick + ' ' + hashPW(pw_plain)) updateAddresses() global addresses if nick in addresses: if address == addresses[nick]: bot.reply(conf.get('main', 'addressexistsreply')) return else: bot.reply('Updating your stored address') updateAddressFile(nick, address) logging.info("set address for %s to %s" % (nick, address)) bot.reply(conf.get('main', 'walletreply') % (nick, address, pw_plain))
def pay(req): if req.method != 'POST': raise apache.SERVER_RETURN, apache.HTTP_BAD_REQUEST if not _check_csrf(req): return 'Bad CSRF token' response = captcha.submit( req.form['recaptcha_challenge_field'], req.form['recaptcha_response_field'], 'YOUR RECAPTCHA PRIVATE KEY', req.get_remote_host(apache.REMOTE_NOLOOKUP), ) if not response.is_valid: return 'Bad reCaptcha code' conn = bitcoinrpc.connect_to_remote(settings.rpc_user, settings.rpc_pass, settings.rpc_host, settings.rpc_port) amt = (20 * int(req.form['heads'])) / _current_btc_exchange_rate() pt = conn.getnewaddress() _sendmail( "%(name)s will be sending %(amount)d coins to %(pay_to)s for attendees:\n%(attendees)s" % { 'name': req.form['name'], 'amount': amt, 'pay_to': pt, 'attendees': req.form['attendees'] }, req.form['email']) return _template('pay', { 'exchange': _current_btc_exchange_rate(), 'address': pt, 'amt': amt })
def main(): tornado.options.parse_config_file( os.path.join(os.path.dirname(__file__), "config.py")) tornado.options.parse_command_line() db_string = 'dbname=%s user=%s password=%s host=%s port=%s' % ( options.sql_db, options.sql_user, options.sql_password, options.sql_host, options.sql_port) if options.debug_mode: db_string = 'dbname=%s user=%s password=%s host=%s port=%s' % ( 'supercryptdb', 'postgres', 'password', '127.0.0.1', '5432') global app app = Application() app.db = momoko.Pool(dsn=db_string, size=1) app.server_variables = ServerVariables(db_string) app.scheduler = Scheduler() app.scheduler.start() app.scheduler.add_cron_job(app.server_variables.generate_server_seed, day='*', hour='0', minute='0') app.coindaemon = bitcoinrpc.connect_to_remote(options.coin_user, options.coin_password, host=options.coin_host, port=options.coin_port) app.server_variables.maxbetlimit = float( app.coindaemon.getbalance(app.server_variables.bankaccount)) * 0.01 http_server = tornado.httpserver.HTTPServer(app) http_server.listen(options.port) tornado.ioloop.IOLoop.instance().start()
def get_server(): return btc.connect_to_remote(PONZI_WALLET_RPC_USER, PONZI_WALLET_RPC_PASSWORD, host=PONZI_WALLET_HOST, port=PONZI_WALLET_PORT, use_https=PONZI_WALLET_USE_HTTPS )
def getEMC2Block(): conn = bitcoinrpc.connect_to_remote('owltest', 'dgsjkbksbJFg87qAiFBbgf9', host='127.0.0.1', port=0000) blockCount = conn.getblockcount() if blockCount <= 144000: return 524.305 elif blockCount <= 288000: return 269.585 elif blockCount <= 432000: return 142.225 elif blockCount <= 576000: return 78.545 elif blockCount <= 864000: return 46.705 elif blockCount <= 1152000: return 30.785 elif blockCount <= 1584000: return 22.825 elif blockCount <= 2304000: return 18.845 elif blockCount <= 5256000: return 16.855 else: return 15.86
def getMECBlock(): conn = bitcoinrpc.connect_to_remote('owltest', 'dgsjkbksbJFg87qAiFBbgf9', host='127.0.0.1', port=0000) blockCount = conn.getblockcount()
def main(): tornado.options.parse_config_file(os.path.join(os.path.dirname(__file__), "config.py")) tornado.options.parse_command_line() db_string = "dbname=%s user=%s password=%s host=%s port=%s" % ( options.sql_db, options.sql_user, options.sql_password, options.sql_host, options.sql_port, ) if options.debug_mode: db_string = "dbname=%s user=%s password=%s host=%s port=%s" % ( "supercryptdb", "postgres", "password", "127.0.0.1", "5432", ) global app app = Application() app.db = momoko.Pool(dsn=db_string, size=1) app.server_variables = ServerVariables(db_string) app.scheduler = Scheduler() app.scheduler.start() app.scheduler.add_cron_job(app.server_variables.generate_server_seed, day="*", hour="0", minute="0") app.coindaemon = bitcoinrpc.connect_to_remote( options.coin_user, options.coin_password, host=options.coin_host, port=options.coin_port ) app.server_variables.maxbetlimit = float(app.coindaemon.getbalance(app.server_variables.bankaccount)) * 0.01 http_server = tornado.httpserver.HTTPServer(app) http_server.listen(options.port) tornado.ioloop.IOLoop.instance().start()
def getTIXBlock(): conn = bitcoinrpc.connect_to_remote('owltest', 'dgsjkbksbJFg87qAiFBbgf9', host='127.0.0.1', port=0000) blockCount = conn.getblockcount() if blockCount <= 80000: return 400000 elif blockCount <= 160000: return 200500 elif blockCount <= 240000: return 151000 elif blockCount <= 320000: return 101500 elif blockCount <= 400000: return 52000 elif blockCount <= 480000: return 27500 elif blockCount <= 560000: return 15500 elif blockCount <= 600000: return 10500 else: return 10000
def create_key(request): cfg = request.registry.settings bitcoind_host = cfg.get('netprofile.client.bitcoind.host') bitcoind_port = cfg.get('netprofile.client.bitcoind.port') bitcoind_login = cfg.get('netprofile.client.bitcoind.login') bitcoind_password = cfg.get('netprofile.client.bitcoind.password') bitcoind = bitcoinrpc.connect_to_remote(bitcoind_login, bitcoind_password, host=bitcoind_host, port=bitcoind_port) resp = {'pubkey': None} newwallet = None if request.GET: nextwallet = request.GET.get("newwallet", None) if nextwallet: newwallet = bitcoind.getnewaddress(nextwallet) else: privkey = request.POST.get('privkey', None) nextwallet = request.POST.get('nextwallet', None) if privkey: newwallet = bitcoind.importprivkey(privkey, nextwallet) resp['pubkey'] = newwallet return resp
def init_app(self, app): """Set up this instance for use with *app*, if no app was passed to the constructor. """ self.app = app app.coin_instance = self if not hasattr(app, 'extensions'): app.extensions = {} app.extensions['coin'] = self app.config.setdefault('COIN_RPC_URL', 'file:///tmp/bitcoin.conf') bits = urlparse(app.config['COIN_RPC_URL']) if bits.scheme == 'file': self.path = bits.path self.connection = connect_to_local(bits.path) else: hnp = None if '@' not in bits.netloc: raise ValueError("Refusing to connect to unauthenticated API endpoint") up, hnp = bits.netloc.rsplit('@', 1) self.username = up.split(':', 1)[0] self.password = up.split(':', 1)[-1] if ':' in hnp: self.hostname, port = hnp.split(':', 1) self.port = int(port) else: self.hostname = hnp self.port = 8332 self.connection = connect_to_remote(self.username, self.password, host=self.hostname, port=self.port, use_https=bits.scheme == 'https') app.context_processor(_coin_context_processor)
def handle(self, *args, **options): if BITCOINRPC_ARGS: conn = bitcoinrpc.connect_to_remote(*BITCOINRPC_ARGS['args'], **BITCOINRPC_ARGS['kwargs']) else: conn = bitcoinrpc.connect_to_local() for tx in conn.listtransactions(): agentlib.store_btc_tx(tx)
def getNETBlock(): conn = bitcoinrpc.connect_to_remote('owltest', 'dgsjkbksbJFg87qAiFBbgf9', host='127.0.0.1', port=0000) blockCount = conn.getblockcount() blockCount = genBlockReward(blockCount, 129600.0, 1024.0) return blockCount + 134.933
def getPHSBlock(): conn = bitcoinrpc.connect_to_remote('owltest', 'dgsjkbksbJFg87qAiFBbgf9', host='127.0.0.1', port=0000) blockCount = conn.getblockcount() blockCount = genBlockReward(blockCount, 64800.0, 64.0) return blockCount + 4.9778
def conn_factory(): return bitcoinrpc.connect_to_remote( user=p.username, password=p.password, host=p.hostname, port=p.port, use_https=p.scheme == 'https', )
def get_connection(node): return bitcoinrpc.connect_to_remote( node.rpcuser_decrypted, node.rpcpass_decrypted, host=node.rpchost, port=node.rpcport, use_https=node.rpchttps, )
def main(): global conn conn = bitcoinrpc.connect_to_remote("", "L9XCUdJf1i", "127.0.0.1", 18332) print "Iniciando bucle" var = reconectar() print "Fuera del bucle, reconectado", var print str(conn.getblockcount())
def __init__(self, wallet): self._host = wallet.rpc_host self._port = wallet.rpc_port self._conn = connect_to_remote( wallet.rpc_username, wallet.rpc_password, host=self._host, port=self._port )
def getLEAFBlock(): conn = bitcoinrpc.connect_to_remote('owltest', 'dgsjkbksbJFg87qAiFBbgf9', host='127.0.0.1', port=0000) blockCount = conn.getblockcount() if blockCount < 120000: return genBlockReward(blockCount, 15000.0, 500000.0) else: return 3500
def getNBLBlock(): conn = bitcoinrpc.connect_to_remote('owltest', 'dgsjkbksbJFg87qAiFBbgf9', host='127.0.0.1', port=0000) blockCount = conn.getblockcount() if blockCount < 219555: return 50 else: return 25
def getLTCBlock(): conn = bitcoinrpc.connect_to_remote('owltest', 'testing', host='127.0.0.1', port=3882) blockCount = conn.getblockcount() return genBlockReward(blockCount, 840000.0, 50.0)
def getDRKBlock(): conn = bitcoinrpc.connect_to_remote('owltest', 'dgsjkbksbJFg87qAiFBbgf9', host='127.0.0.1', port=0000) difficulty = conn.getdifficulty() return int(2222222 / (((difficulty + 2600) / 9)**2))
def getDOGEBlock(): conn = bitcoinrpc.connect_to_remote('owltest', 'dgsjkbksbJFg87qAiFBbgf9', host='50.66.72.155', port=22555) blockCount = conn.getblockcount() if blockCount >= 600000: return 10000 else: return genBlockReward(blockCount, 100000.0, 500000.0)
def get_number_of_sha_coins(blockReward, hashRate, coin_port=None): conn = bitcoinrpc.connect_to_remote('owltest', 'testing', host='127.0.0.1', port=coin_port) difficulty = conn.getdifficulty() return 20.11624 * blockReward * hashRate / (difficulty * 1000000.0)
def getRPCBlock(): conn = bitcoinrpc.connect_to_remote('owltest', 'dgsjkbksbJFg87qAiFBbgf9', host='127.0.0.1', port=0000) blockCount = conn.getblockcount() return getblockcount(blockCount, 1051200.0, 1.0)
def get_number_of_x11_coins(blockReward, hashRate, coin_port=None): conn = bitcoinrpc.connect_to_remote('owltest', 'testing', host='127.0.0.1', port=coin_port) difficulty = conn.getdifficulty() return (86400.0 * blockReward * hashRate) / (difficulty * 4294967296)
def get_number_of_groestls_coins(blockReward, hashRate, coin_port=None): conn = bitcoinrpc.connect_to_remote('owltest', 'testing', host='127.0.0.1', port=coin_port) difficulty return 86400.0 / (difficulty * 2**32 / hashRate)
def getPOTBlock(): conn = bitcoinrpc.connect_to_remote('owltest', 'dgsjkbksbJFg87qAiFBbgf9', host='127.0.0.1', port=0000) blockCount = conn.getblockcount() return genBlockReward(blockCount, 840000.0, 420.0)
def getCSCBlock(): conn = bitcoinrpc.connect_to_remote('owltest', 'dgsjkbksbJFg87qAiFBbgf9', host='127.0.0.1', port=47970) blockCount = conn.getblockcount() return genBlockReward(blockCount, 3153600.0, 50.0)
def get_number_of_scrypt_coins(blockReward, hashRate, coin_port=None): conn = bitcoinrpc.connect_to_remote('owltest', 'dgsjkbksbJFg87qAiFBbgf9', host='127.0.0.1', port=coin_port) difficulty = conn.getdifficulty() return blockReward / (Decimal(difficulty) * Decimal(49710.26963) / hashRate)
def sendCoins(address, amount): rpc = conf._sections['rpc'] conn = bitcoinrpc.connect_to_remote(rpc['user'], rpc['pass'], \ rpc['host'], rpc['port']) rv = conn.validateaddress(address) if rv.isvalid: conn.sendtoaddress(address, amount) logging.info("sent %f to %s" % (amount, address)) else: logging.warning("The address that you provided is invalid, please correct %s" % address)
def getJKCBlock(): conn = bitcoinrpc.connect_to_remote('owltest', 'dgsjkbksbJFg87qAiFBbgf9', host='127.0.0.1', port=0000) blockCount = conn.getblockcount() if blockCount <= 1036800: return 51.6 else: blockCount = genBlockReward(blockCount, 1036800.0, 50) return blockCount + 0.1
def asegurar_conexion(sym): wallet_uso = settings.WALLETS[sym] if not(sym in conexiones_btc): try: conexiones_btc[sym] = bitcoinrpc.connect_to_remote(wallet_uso["user"], wallet_uso["pass"], host=wallet_uso["host"], port=wallet_uso["port"]) screen.set_color(10, 0) print(" * Connected to Wallet: %s" % sym) except socket.error, err: screen.set_color(12, 0) print(" * Cannot connect to Wallet: %s" % sym)
def getXJOBlock(): conn = bitcoinrpc.connect_to_remote('owltest', 'dgsjkbksbJFg87qAiFBbgf9', host='127.0.0.1', port=0000) blockCount = conn.getblockcount() blockCount = genBlockReward(blockCount, 1401600.0, 16.0) if blockCount < 0.001: return 0.001 else: return blockCount
def _connect(): "Returns a new connection to the bitcoin daemon" if(settings.BITCOINRPC_CONN['remote']): user = settings.BITCOINRPC_CONN['user'] password = settings.BITCOINRPC_CONN['password'] host = settings.BITCOINRPC_CONN['host'] port = settings.BITCOINRPC_CONN['port'] use_https = settings.BITCOINRPC_CONN['use_https'] return bitcoinrpc.connect_to_remote(user=user, password=password, host=host, port=port, use_https=use_https) else: return bitcoinrpc.connect_to_local()
def __init__(self, settings): user = settings.get('bitcoin.user', '') password = settings.get('bitcoin.password', '') host = settings.get('bitcoin.host', 'localhost') port = settings.get('bitcoin.port', 8332) if user == '': self.rpc = bitcoinrpc.connect_to_local() else: self.rpc = bitcoinrpc.connect_to_remote(user, password, host, port) self.month_price = float(settings.get('bitcoin.month_price', 0.02)) self.account = settings.get('bitcoin.account', 'ccvpn2')
def getQRKBlock(): conn = bitcoinrpc.connect_to_remote('owltest', 'dgsjkbksbJFg87qAiFBbgf9', host='127.0.0.1', port=0000) blockCount = conn.getblockcount() blockCount = genBlockReward(blockCount, 60480.0, 2048.0) if blockCount < 1: return 1 else: return blockCount
def getSMCBlock(): conn = bitcoinrpc.connect_to_remote('owltest', 'dgsjkbksbJFg87qAiFBbgf9', host='127.0.0.1', port=0000) blockCount = conn.getblockcount() if blockCount < 1000: return 1 elif blockCount <= 120000: return 64 else: return 16
def getBTCRPC(self, settings): if not BitcoinMethod.rpc: user = settings.get('bitcoin.user', '') password = settings.get('bitcoin.password', '') host = settings.get('bitcoin.host', 'localhost') port = settings.get('bitcoin.port', 8332) if user == '': rpc = bitcoinrpc.connect_to_local() else: rpc = bitcoinrpc.connect_to_remote(user, password, host, port) BitcoinMethod.rpc = rpc return BitcoinMethod.rpc
def main(): if len(sys.argv) < 2 or sys.argv[1] not in VALID_ACTIONS: sys.stderr.write('Invalid action. Available actions: {}.\n' .format(', '.join(VALID_ACTIONS))) sys.exit(1) action = sys.argv[1] cfg = parse_config() if KEY_RPC_USER not in cfg or KEY_RPC_PASSWORD not in cfg: raise KeyError('coinyecoind config file must contain "{}" and "{}" entries.' .format(KEY_RPC_USER, KEY_RPC_PASSWORD)) addresses = load_addresses() rpc = bitcoinrpc.connect_to_remote(cfg[KEY_RPC_USER], cfg[KEY_RPC_PASSWORD], port=COINYE_RPC_PORT) if not os.path.exists(KANYE_TRACKS_CSV_PATH): raise IOError('List of Kanye West tracks not found at "{}".'.format(KANYE_TRACKS_CSV_PATH)) kanye_tracks = csv.reader(file(KANYE_TRACKS_CSV_PATH)) if action == ACTION_CREATE_ACCOUNTS: # getaccountaddresses creates a new address even if that # account already exists. We only want a 1:1 mapping between # wallet accounts and addresses so we only call getaccountaddress # once per track and then store these addresess in addresses.json. accounts = rpc.listaccounts() for (track, title, album, year) in kanye_tracks: key = genkey(title + album) if key not in accounts: print 'Creating account ' + key addresses[key] = rpc.getaccountaddress(key) print 'Created account ' + key + ' with address ' + addresses[key] save_addresses(addresses) elif action == ACTION_GENERATE_INDEX: tracks = [] for (track, title, album, year) in kanye_tracks: key = genkey(title + album) balance = rpc.getbalance(key) tracks.append({ 'track': track, 'title': title, 'album': album, 'year': year, 'address': addresses[key], 'balance': float(balance), 'balance_text': '%.2f' % float(balance) }) # We rank the tracks by the amount of COYE donated to each. tracks.sort(key=lambda x: x['balance'], reverse=True) template = Template(filename=INDEX_TEMPLATE_PATH) print 'Read template from "{}".'.format(INDEX_TEMPLATE_PATH) file(INDEX_OUTPUT_PATH, 'w+').write(template.render(tracks=tracks)) print 'Wrote rendered template to "{}".'.format(INDEX_OUTPUT_PATH)
def getBUKBlock(): conn = bitcoinrpc.connect_to_remote('owltest', 'dgsjkbksbJFg87qAiFBbgf9', host='127.0.0.1', port=0000) blockCount = conn.getblockcount() if blockCount <= 300: return 1 elif blockCount <= 35000: return 33 elif blockCount <= 70000: return 22 else: return 11
def getPTSBlock(): conn = bitcoinrpc.connect_to_remote('owltest', 'dgsjkbksbJFg87qAiFBbgf9', host='127.0.0.1', port=0000) blockCount = conn.getblockcount() blockCount = (blockCount - blockCount % 2016) / 2016 blockReward = 50 for i in range(0, blockCount): blockReward = blockReward - blockReward * 0.05 return blockReward
def asegurar_conexion(sym): wallet_uso = settings.WALLETS[sym] if not (sym in conexiones_btc): try: conexiones_btc[sym] = bitcoinrpc.connect_to_remote( wallet_uso["user"], wallet_uso["pass"], host=wallet_uso["host"], port=wallet_uso["port"]) screen.set_color(10, 0) print(" * Connected to Wallet: %s" % sym) except socket.error, err: screen.set_color(12, 0) print(" * Cannot connect to Wallet: %s" % sym)
def getMZCBlock(): conn = bitcoinrpc.connect_to_remote('owltest', 'dgsjkbksbJFg87qAiFBbgf9', host='127.0.0.1', port=0000) blockCount = conn.getblockcount() blockCount = genBlockReward(blockCount, 241920.0, 5000.0) if blockCount < 1: return 1 else: return blockCount
def _connect(): "Returns a new connection to the bitcoin daemon" if settings.BITCOINRPC_CONN['remote']: user = settings.BITCOINRPC_CONN['user'] password = settings.BITCOINRPC_CONN['password'] host = settings.BITCOINRPC_CONN['host'] port = settings.BITCOINRPC_CONN['port'] use_https = settings.BITCOINRPC_CONN['use_https'] return bitcoinrpc.connect_to_remote(user=user, password=password, host=host, port=port, use_https=use_https) else: return bitcoinrpc.connect_to_local()