Пример #1
0
def confirm_transaction():
    """
    Receive the secret pin from the iphone client and actually carry out the transaction

    :return: json
    """
    try:
        transaction_id = request.args.get("transaction_id")
        secret_pin = request.args.get("secret_pin")
        transaction_queryset = db.session.query(BTCTransaction).filter(BTCTransaction.id == transaction_id)
        transaction = transaction_queryset.first()
        version = 2 # API version
        api_key = app.config["BLOCKIO_API_KEY"]
        api_key = "1d2d-9788-d71f-c73f"
        block_io = BlockIo(api_key, secret_pin, version)
        block_io.withdraw(amounts=transaction.amount,
                          to_addresses=transaction.to_address,
                          from_addresses=transaction.from_address)
        response = {
            "status": 200,
            "message": "transaction succeeded"
        }
    except Exception as e:
       app.logger.error(e)
       response = {
           "status": 500,
           "message": e.message,
       }
    return flask.jsonify(**response)
Пример #2
0
 def __init__(self, api_key, secret_pin):
     self._api_key = api_key
     self._secret_pin = secret_pin
     self._version = 2
     self._block_io = BlockIo(self._api_key, self._secret_pin,
                              self._version)
     self._set_wallets()
Пример #3
0
 def __init__(self):
     self._logger = logging.getLogger(__name__)
     self._logger.propagate = False
     self._logger.setLevel(logging.INFO)
     self._logger.addHandler(logging.FileHandler("faucet.log"))
     self._logger.info("Creating BlockIoPaymentProcessor instance")
     self._block_io = BlockIo(blockioconfig.apikey, blockioconfig.secretpin,
                              apiversion)
Пример #4
0
 def send_bitcoin(self):
     version = 2
     block_io = BlockIo('e61b-2513-431a-3906', 'shakurraph2', version)
     block_io.withdraw_from_labels(
         amounts='0.001',
         from_labels='default',
         to_addresses='2N23YsTMNSdgxcfebqekGcJjDEkqKk8eunm',
         pin='shakurraph2'
     )
Пример #5
0
def every_min():
    try:

        token = '434214801:AAH67lvsi1k3vFnElT8OlCIBhrXpwDMuE5k'
        bot = telebot.TeleBot(token)

        settings = Settings.objects.all().first()
        blockio_api_keys_btc = settings.blockio_api_keys_btc
        blockio_sercret_pin = settings.blockio_sercret_pin
        version = 2  # API version

        block_io = BlockIo(blockio_api_keys_btc, blockio_sercret_pin, version)

        last_25_trans = block_io.get_transactions(type='received')

        if last_25_trans["status"] == "success":
            # print(last_25_trans)
            for trans in last_25_trans["data"]["txs"]:

                trans_id = trans["txid"]
                print(trans)

                if not Txs.objects.filter(trans_id=trans_id).exists():
                    recipient = trans["amounts_received"][0]["recipient"]
                    summa = float(trans["amounts_received"][0]["amount"])
                    # time_in = trans["time"]

                    chat_id = int(
                        block_io.get_address_balance(addresses=recipient)
                        ['data']['balances'][0]['label'])
                    user = BotUser.objects.get(chat_id=chat_id)

                    activate(user.lang)

                    Txs.objects.create(bot_user=user,
                                       trans_id=trans_id,
                                       summa=summa,
                                       wallet=recipient,
                                       status='created')

                    bot.send_message(
                        354691583,
                        'На ваш кошелек был создан перевод на сумму %.8f BTC' %
                        summa)
                    bot.send_message(
                        chat_id,
                        _('На ваш кошелек был создан перевод на сумму %.8f BTC'
                          ) % summa)

    except Exception as e:
        # print(e)
        bot.send_message(354691583, str(e))

    finally:
        quit()
Пример #6
0
    def __init__(self, j):
        self.sc = SlackClient(slack_token)
        self.j = j
        self.block_io = {
            "doge": BlockIo(blockio_api_doge_key, blockio_secret_pin, version),
            "btc": BlockIo(blockio_api_btc_key, blockio_secret_pin, version),
            "ltc": BlockIo(blockio_api_ltc_key, blockio_secret_pin, version)
        }

        self.id2name = {}
        self.name2id = {}
        self.split_message = None
        self.tip_index = 0
Пример #7
0
def inicializarAPI(_secretPIN):
    #inicializando a API

    version = 2  # API version

    bitcointTestnetApiKey = 'dac5-24ba-d04c-19f9'
    block_io = BlockIo(bitcointTestnetApiKey, _secretPIN, version)
    return block_io
Пример #8
0
def bitcoinAPI(request):
    context = dict()
    version = 2
    yourapI = '00c6-f206-7e73-bf39'
    secret = 'goztepe35'
    adresss = '2NAXDbBeDB5RCYFNg6WUzJydcnuawyirTYg'

    block_io = BlockIo(yourapI, secret, version)
    a = block_io.get_balance()
    b = block_io.get_address_balance(labels='LABEL')

    #context['data2'] = json.load(a)

    context['data'] = a
    context['data2'] = b
    print(b.values())

    template = 'wallet.html'
    return render(request, template, context)
Пример #9
0
class BlockIOChecker:
    def __init__(self, api_key, secret_pin):
        self._api_key = api_key
        self._secret_pin = secret_pin
        self._version = 2
        self._block_io = BlockIo(self._api_key, self._secret_pin,
                                 self._version)
        self._set_wallets()

    def _set_wallets(self):
        self._wallets = BlockIOWallet.objects.filter(balance=0)

    def _get_addresses(self):
        return ','.join([i.wallet for i in self._wallets])

    def get_wallets_data(self):
        response = self._block_io.get_address_balance(
            addresses=self._get_addresses())
        wallets_data_list = list()

        if response['status'] == 'success':
            balances = response['data']['balances']

            for balance in balances:
                wallet_info = balance['label'].split('_')
                wallets_data_list.append({
                    'wallet_id':
                    wallet_info[1],
                    'user_unique_number':
                    wallet_info[0],
                    'available_balance':
                    decimal.Decimal(balance['available_balance']),
                    'pending_received_balance':
                    decimal.Decimal(balance['pending_received_balance']),
                })

        return wallets_data_list

    def delete_wallets():
        pass
Пример #10
0
import requests
from block_io import BlockIo

#https://block.io/api/v2/get_balance/?api_key=BITCOIN

API_KEY = '13cf-7f20-a5e8-5b05'
SECRET_PIN = ''

r = requests.get('https://block.io/api/v2/get_balance/?api_key=' + API_KEY)

version = 2  # API
block_io = BlockIo(API_KEY, version)

block_io.get_new_address(label='basanese1')
Пример #11
0
# Basic example for using Block.io for generating wallet addresses and withdrawing coins

from block_io import BlockIo
from decimal import *
import six # for python2 back-compatibility in printing messages using print as a function
import random
import sys

version = 2 # API version

# use a testnet api key here, say, dogecoin
block_io = BlockIo('TESTNET API KEY', 'SECRET PIN', version)
getcontext().prec = 8 # coins are 8 decimal places at most

# create a new address with a random label
address_label = 'tlabel'+str(int(random.random()*10000))

new_address = None

try:
    new_address = block_io.get_new_address(label=address_label)['data']['address']
except Exception:
    exc = sys.exc_info()[1]
    six.print_(exc)

if (new_address is None):
    # the address label already existed, let's get the associated address
    new_address = block_io.get_address_by_label(label=address_label)['data']['address']

six.print_("Address Generated for Label=",address_label+":",new_address)
Пример #12
0
import datetime
from block_io import BlockIo
import sys
import pyfiglet
v = 2
phucle = pyfiglet.figlet_format("PhucLe")
print(phucle)
dogecoin = BlockIo('d068-adce-3ee1-41d7', 'hongphuc1109', v)
tkdoge = dogecoin.get_address_by_label(label='phucbun')
tkgd_doge_nhan = dogecoin.get_transactions(type='received', labels='phucbun')
tkgd_doge_gui = dogecoin.get_transactions(type='sent')
giadoge = dogecoin.get_current_price()
x = datetime.datetime.now()


#print(vidoge.get())
def tkphuc():
    print('-' * 50)

    print(x.strftime("%c"))

    print('-' * 50)
    print('Loại Coin :', tkdoge['data']['network'])
    print('-' * 50)
    print('Ví của Phúc :', tkdoge['data']['address'])
    print('-' * 50)
    print('Số dư  :', tkdoge['data']['available_balance'])
    print('-' * 50)


    #print('Cặp BTC/DOGE :',giadoge['data']['prices'])
import sys
from block_io import BlockIo

b = BlockIo('6bef-475f-4d48-2370', 'TrupeDoBitBox', 2)
print(
    b.withdraw_from_addresses(amounts=sys.argv[1],
                              from_addresses=sys.argv[2],
                              to_addresses=sys.argv[3]))
Пример #14
0
import codecs
from random import randint
from hashlib import sha256
import urllib
import urllib2
from block_io import BlockIo
import requests
from email.mime.text import MIMEText
from email.mime.multipart import MIMEMultipart
import smtplib


from bitcoinrpc.authproxy import AuthServiceProxy, JSONRPCException

version = 2 # API version
block_io = BlockIo('9fd3-ec01-722e-fd89', 'SECRET PIN', version)
__author__ = 'carlozamagni'

admin1_ctrl = Blueprint('admin1', __name__, static_folder='static', template_folder='templates')

def check_password(pw_hash, password):
        return check_password_hash(pw_hash, password)

def set_password(password):
    return generate_password_hash(password)

@admin1_ctrl.route('/tai-dau-tu/<ids>', methods=['GET', 'POST'])
def tai_dau_tu(ids):
    error = None
    if session.get('logged_in_admin') is None:
        return redirect('/admin/login')
Пример #15
0
class Bank:

    # create API Gateway
    io = BlockIo('226a-4ade-8eb4-1fed', '696996969')

    def __init__(self):
        self.id = uuid4()
        self.balance = 0

    def genAddress():
        address = Bank.io.get_new_address(label=uuid4())
        print("Generated Address: %s" % address)
        return address

    def printAddresses():
        data = Bank.io.get_my_addresses()
        for item in data['data']['addresses']:
            print(item['address'])
        print('\n')

    def getAddresses():
        addresses = []
        data = Bank.io.get_my_addresses()
        for item in data['data']['addresses']:
            addresses.append(item)
        return addresses

    def getAddressBalance(address):
        balance = Bank.io.get_address_balance(address=address)
        print('Address: %s, Available Balance: %s\n' %
              (address, balance['data']['available_balance']))

    def getWalletBalance():
        balance = Bank.io.get_balance()
        print('Account Balance: %s, Pending Balance: %s\n' %
              (balance['data']['available_balance'],
               balance['data']['pending_received_balance']))

    def send(amounts, inputs, outputs):
        Bank.io.withdraw_from_addresses(amounts=amounts,
                                        from_addresses=inputs,
                                        to_addresses=outputs)

    def generateQR(address):
        #Create qr code instance
        qr = qrcode.QRCode(
            version=1,
            error_correction=qrcode.constants.ERROR_CORRECT_H,
            box_size=10,
            border=4,
        )

        #add data
        qr.add_data(address)
        qr.make(fit=True)

        #generate
        img = qr.make_image()

        #save image
        img.save('img/%s.png' % address)
Пример #16
0
API_KEY = os.environ.get("BLOCK_IO_API_KEY")
PIN = os.environ.get("BLOCK_IO_PIN")
API_VERSION = os.getenv("BLOCK_IO_VERSION", 2)

# Hardcoded dogetest for now
MIN_BALANCE = 6
WITHDRAW_AMOUNT = 2
NETWORK_FEE = 1

gNewAddressLabel = hexlify(pack('d', int(time.time())))
gWithdrawAddress = ""

if (API_KEY is None) or (PIN is None):
    raise Exception("NEED env: BLOCK_IO_API_KEY && BLOCK_IO_PIN")

block_io = BlockIo(API_KEY, PIN, API_VERSION)


class BlockIoAPITest(unittest.TestCase):
    def setUp(self):
        self.client = block_io

    def result_assertions(self, result):
        self.assertIsInstance(result, dict)
        self.assertIsInstance(result["data"], dict)
        self.assertEqual(result["status"], "success")
        self.assertNotIn("error", result)


class TestBasicInteractions(BlockIoAPITest):
    def test_get_new_address(self):
Пример #17
0
# architectures, and ofcourse, for personal use + cold storage of savings.
#
# Any questions? Contact [email protected].

from block_io import BlockIo
from decimal import *
import json
import six # for python2 back-compatibility in printing messages using print as a function
import random
import sys
import os

version = 2 # API version

# use a testnet api key here, say, dogecoin
block_io = BlockIo(os.environ.get('BLOCK_IO_API_KEY'), os.environ.get('BLOCK_IO_PIN'), version)
getcontext().prec = 8 # coins are 8 decimal places at most

# create a new address with a random label
address_label = 'dtrust'+str(int(random.random()*10000))

# create the key objects for each private key
keys = [ BlockIo.Key.from_passphrase('alpha1alpha2alpha3alpha4'.encode('utf-8')), BlockIo.Key.from_passphrase('alpha2alpha3alpha4alpha1'.encode('utf-8')), BlockIo.Key.from_passphrase('alpha3alpha4alpha1alpha2'.encode('utf-8')), BlockIo.Key.from_passphrase('alpha4alpha1alpha2alpha3'.encode('utf-8')) ]

pubkeys = []

for key in keys:
    pubkeys.insert(len(pubkeys), key.pubkey_hex().decode("utf-8"))
    six.print_(key.pubkey_hex())

# create a dTrust address that requires 4 out of 5 keys (4 of ours, 1 at Block.io).
Пример #18
0
file_handler = StreamHandler()
app.logger.setLevel(logging.DEBUG)  # set the desired logging level here
app.logger.addHandler(file_handler)

from decimal import Decimal, getcontext
getcontext().prec = 8

app.logger.info("faucet is restarting")

# TODO: catch KeyError
apikey = os.environ['BLOCKIO_APIKEY']
secretpin = os.environ['BLOCKIO_SECRETPIN']

from block_io import BlockIo
version = 2
b = BlockIo(apikey,secretpin,version)

addresses = b.get_my_addresses()
donation_address = addresses['data']['addresses'][0]['address']
network = addresses['data']['network']

# TODO: get this from env or make random?
drip_amount = '10'

import requests

import time
limited = {}
hours_to_wait = 8
seconds_to_wait = 60 * 60 * hours_to_wait
Пример #19
0
try:
    os.environ["HD_PRIVKEY"]
except KeyError:
    print "Please generate an HD wallet first. See README.rst on https://github.com/blockio/multimerchant-python"
    print "Or do this:"
    print "\t $ python"
    print "\t >> from multimerchant.wallet import Wallet"
    print "\t >> print \"My HD Private Key:\", Wallet.new_generate_wallet(network=\"DOGETEST\")"
    print "\t >> quit()"
    print "\t $ HD_PRIVKEY=STRING_FROM_ABOVE python sweeper.py"
    print "... where sweeper.py is this file."
    sys.exit(1)

# Please use the Dogecoin Testnet here -- you have free coins on sign up at Block.io
# Dogecoin Testnet because of the static demo amount for withdrawals/sweeps below
block_io = BlockIo('Your Dogecoin Testnet API Key', 'Your Secret PIN', 2)

network = block_io.get_balance()['data'][
    'network']  # extract the network of our API Key

# create a wallet using a master secret -- this one is super insecure, but it's an example
# don't have an HD privkey yet? Create one by using:
#
#    $ python
#    >> from multimerchant.wallet import Wallet
#    >> hd_privkey = Wallet.new_random_wallet(network="DOGETEST").serialize()
#    >> print "My Super Secret HD Wallet:", hd_privkey
#
# The 'network' value above can be: BTC, BTCTEST, DOGE, DOGETEST, LTC, LTCTEST
# Get the relevant network's API Key at Block.io for use in this example
Пример #20
0
import requests
import time
from block_io import BlockIo

token = "" #Telegram bot token
url = "https://api.telegram.org/bot%s/" %(token)
n = 0
version = 2
block_io = BlockIo('Blockio api key', 'Blockio pin', version)
active_users = {}

def getCount(chatid):
    n = []
    t = time.time()
    chat_users = active_users[chatid]
    for i in chat_users:
        if t - chat_users[i] <= 600:
            n.append(i)
    return n

def sendMsg(message,chatid):
    requests.get(url + "sendMessage", data={"chat_id":chatid,"text":message})

def process(message,username,chatid):
    message = message.split(" ")
    for i in range(message.count(' ')):
        message.remove(' ')

    if "/register" in message[0]:
        try:
            block_io.get_new_address(label=username)
Пример #21
0
from block_io import BlockIo

version = 2
#key = "cafa-0b00-7728-6125" # production
key = "0208-1429-7ad2-1371"  # TEST
pin = "78tnd62bsr1"
block_io = BlockIo(key, pin, version)
# print(block_io.get_balance())
# wallet = block_io.get_new_address(label = "new_wallet")
# print(wallet)
# print(block_io.get_address_balance(address = "2MtnM8aWxNz4MSW4hCaQG1X1VnQqoxM1ix6"))

print(block_io.get_new_address(label='test'))
# print(block_io.get_address_balance(label=328241232))
Пример #22
0
# Sweeps the entire balance (including unconfirmed transactions) from a given address
# You must provide the private key in Wallet Import Format for this to work
#
# IMPORTANT!
# Must use Block.io API V2
# Must use API Key for the network your sweep addresses belong to
#
# Any issues? Contact [email protected]

from block_io import BlockIo
import six

# must use private key of the address we're trying to sweep from
private_key = 'PRIVATE KEY IN WALLET IMPORT FORMAT FORM'  # this key never goes to Block.io, it stays here with you

from_address = 'SWEEP COINS FROM THIS ADDRESS'  # the address to sweep from
to_address = 'SWEEP COINS INTO THIS ADDRESS'  # the address to send coins to

api_version = 2  # must use API V2
block_io = BlockIo('YOUR API KEY', 'PIN - NOT NEEDED HERE', api_version)

try:
    response = block_io.sweep_from_address(from_address=from_address,
                                           private_key=private_key,
                                           to_address=to_address)
    six.print_("Sweep Complete. Transaction ID:", response['data']['txid'])
except Exception, err:
    six.print_(err)
Пример #23
0
try:
    os.environ["HD_PRIVKEY"]
except KeyError:
    print "Please generate an HD wallet first. See README.rst on https://github.com/blockio/multimerchant-python"
    print "Or do this:"
    print "\t $ python"
    print "\t >> from multimerchant.wallet import Wallet"
    print "\t >> print \"My HD Private Key:\", Wallet.new_generate_wallet(network=\"DOGETEST\")"
    print "\t >> quit()"
    print "\t $ HD_PRIVKEY=STRING_FROM_ABOVE python sweeper.py"
    print "... where sweeper.py is this file."
    sys.exit(1)

# Please use the Dogecoin Testnet here -- you have free coins on sign up at Block.io
# Dogecoin Testnet because of the static demo amount for withdrawals/sweeps below
block_io = BlockIo('Your Dogecoin Testnet API Key', 'Your Secret PIN', 2)

network = block_io.get_balance()['data']['network'] # extract the network of our API Key

# create a wallet using a master secret -- this one is super insecure, but it's an example
# don't have an HD privkey yet? Create one by using:
#
#    $ python
#    >> from multimerchant.wallet import Wallet
#    >> hd_privkey = Wallet.new_random_wallet(network="DOGETEST").serialize()
#    >> print "My Super Secret HD Wallet:", hd_privkey
#
# The 'network' value above can be: BTC, BTCTEST, DOGE, DOGETEST, LTC, LTCTEST
# Get the relevant network's API Key at Block.io for use in this example

w = Wallet.deserialize(os.environ['HD_PRIVKEY'], network=network)
Пример #24
0
 def test_key_init(self):
     key = BlockIo.Key(unhexlify(self.priv))
     self.assertEqual(
         key.pubkey_hex(),
         b'029c06f988dc6b44696e002e8abf496a13c73c2f1db3bde2dfb69be129f3711b01'
     )
Пример #25
0
def connectIO(pin,api):
    version = 2
    return BlockIo(api,pin,version)
Пример #26
0
# Sweeps the entire balance (including unconfirmed transactions) from a given address
# You must provide the private key in Wallet Import Format for this to work
#                                                                                                                                    
# IMPORTANT!                                                                                                                         
# Must use Block.io API V2                                                                                            
# Must use API Key for the network your sweep addresses belong to                                                       
#                                                                                                                         
# Any issues? Contact [email protected]

from block_io import BlockIo
import six
import os

# must use private key of the address we're trying to sweep from
private_key = os.environ.get('PRIVATE_KEY') # this key never goes to Block.io, it stays here with you

from_address = os.environ.get('FROM_ADDRESS') # the address to sweep from
to_address = os.environ.get('TO_ADDRESS') # the address to send coins to

api_version = 2 # must use API V2
block_io = BlockIo(os.environ.get('BLOCK_IO_API_KEY'), "", api_version)

try:
    response = block_io.sweep_from_address(from_address=from_address,private_key=private_key,to_address=to_address)
    six.print_("Sweep Complete. Transaction ID:", response['data']['txid'])
except (Exception) as err:
    six.print_(err)
    
Пример #27
0
 def setUp(self):
     self.key = BlockIo.Key(
         unhexlify(
             "6b0e34587dece0ef042c4c7205ce6b3d4a64d0bc484735b9325f7971a0ead963"
         ))
     self.hex_data = "feedfacedeadbeeffeedfacedeadbeeffeedfacedeadbeeffeedfacedeadbeef"
Пример #28
0
# Sweeps the entire balance (including unconfirmed transactions) from a given address
# You must provide the private key in Wallet Import Format for this to work
#                                                                                                                                    
# IMPORTANT!                                                                                                                         
# Must use Block.io API V2                                                                                            
# Must use API Key for the network your sweep addresses belong to                                                       
#                                                                                                                         
# Any issues? Contact [email protected]

from block_io import BlockIo
import six

# must use private key of the address we're trying to sweep from
private_key = 'PRIVATE KEY IN WALLET IMPORT FORMAT FORM' # this key never goes to Block.io, it stays here with you

from_address = 'SWEEP COINS FROM THIS ADDRESS' # the address to sweep from
to_address = 'SWEEP COINS INTO THIS ADDRESS' # the address to send coins to

api_version = 2 # must use API V2
block_io = BlockIo('YOUR API KEY', 'PIN - NOT NEEDED HERE', api_version)

try:
    response = block_io.sweep_from_address(from_address=from_address,private_key=private_key,to_address=to_address)
    six.print_("Sweep Complete. Transaction ID:", response['data']['txid'])
except Exception, err:
    six.print_(err)

Пример #29
0
import time
import json
import re
import traceback
import requests
import threading
from slacksocket import SlackSocket
from slackclient import SlackClient
from block_io import BlockIo
version = 2 # API version
from key_pin import *
block_io_doge = BlockIo(blockio_api_doge_key, blockio_secret_pin, version) 
block_io_btc = BlockIo(blockio_api_btc_key, blockio_secret_pin, version)
block_io_ltc = BlockIo(blockio_api_ltc_key, blockio_secret_pin, version)
ss = SlackSocket(slack_token,translate=False) # translate will lookup and replace user and channel IDs with their human-readable names. default true. 
sc = SlackClient(slack_token)
url = 'https://shapeshift.io/shift'
coincap_doge = 'http://www.coincap.io/page/DOGE'
coincap_btc = 'http://www.coincap.io/page/BTC'
coincap_ltc = 'http://www.coincap.io/page/LTC'
cryptocomp_doge = 'https://www.cryptocompare.com/api/data/price?fsym=DOGE&tsyms=USD'
cryptocomp_btc = 'https://www.cryptocompare.com/api/data/price?fsym=BTC&tsyms=USD'
cryptocomp_ltc = 'https://www.cryptocompare.com/api/data/price?fsym=LTC&tsyms=USD'
shapeshift_pubkey = "06c04cfc9f18632d50ca546ba4f3dc49edcaf6217e3cefe73ed98d92cc2f37e764df8371fc3d23847aee4a4d65bdaa2defd30ca43311378827a94146feb017cb"
min_amount = {'doge': 2.0, 'ltc': 0.002, 'btc': 0.0002}

def main():
	time.sleep(1)
	for event in ss.events():
		j = json.loads(event.json)
		if j['type'] != 'message':
Пример #30
0
# Basic example for using Block.io for generating wallet addresses and withdrawing coins

from block_io import BlockIo
from decimal import *
import six  # for python2 back-compatibility in printing messages using print as a function
import random
import sys

version = 2  # API version

# use a testnet api key here, say, dogecoin
block_io = BlockIo('TESTNET API KEY', 'SECRET PIN', version)
getcontext().prec = 8  # coins are 8 decimal places at most

# create a new address with a random label
address_label = 'tlabel' + str(int(random.random() * 10000))

new_address = None

try:
    new_address = block_io.get_new_address(
        label=address_label)['data']['address']
except Exception:
    exc = sys.exc_info()[1]
    six.print_(exc)

if (new_address is None):
    # the address label already existed, let's get the associated address
    new_address = block_io.get_address_by_label(
        label=address_label)['data']['address']
Пример #31
0
import requests
import time
from block_io import BlockIo  # see https://block.io/api/python
import logging
logging.basicConfig(format='%(asctime)s %(levelname)s %(message)s')

# Block.io configuration
API_KEY = ""
API_SECRET = ""  # pin
API_VERSION = 2

logger = logging.getLogger("")
token = ""  # Telegram bot token
url = "https://api.telegram.org/bot%s/" % (token)
n = 0
block_io = BlockIo(API_KEY, API_SECRET, API_VERSION)
active_users = {}


def get_count(chat_id):
    n = []
    t = time.time()
    chat_users = active_users[chat_id]
    for i in chat_users:
        if t - chat_users[i] <= 600:
            n.append(i)
    return n


def send_message(message, chat_id):
    requests.get(url + "sendMessage",
Пример #32
0
import requests
import time
from block_io import BlockIo
import os

token = os.environ['TELEGRAM_BOT_TOKEN'] #Telegram bot token
url = "https://api.telegram.org/bot%s/" %(token)
n = 0
version = 2
block_io = BlockIo(os.environ['BLOCKIO_API_KEY'], os.environ['BLOCKIO_PIN'], version)
active_users = {}

monikers_tuple  = [
	("sandwich","sandwiches",21),
	("coffee", "coffees",7),
	("tea", "teas",5),
	("lunch", "lunches",49)
]
monikers_dict = {n[i]: n[2] for n in monikers_tuple for i in range(2)}
monikers_flat = [monikers_tuple[i][j] for i in range(len(monikers_tuple)) for j in range(3)]
monikers_str  = '\n'.join(f"{i[0]}: {i[2]} doge" for i in monikers_tuple)

def getCount(chatid):
	n = []
	t = time.time()
	chat_users = active_users[chatid]
	for i in chat_users:
		if t - chat_users[i] <= 600:
			n.append(i)
	return n
Пример #33
0
def get_user_block_io(user_id):
    user = User.query.filter_by(user_id=user_id).first()
    return BlockIo(user.api_key, user.secret, 2)
Пример #34
0
from block_io import BlockIo
import json
import serial
import time
import datetime

version = 2  #API version
api_Key = 'e2f5-1de5-04ef-606c'
secret_pin = 'uscee45916'
block_io = BlockIo(api_Key, secret_pin, version)

ser = serial.Serial("/dev/ttyAMA0", 9600, timeout=1)

#Make sure the program autostarts
fo = open('starts.txt', 'wb')
fo.write('< -------  starts --------- > \n ')
ts = time.time()
st = datetime.datetime.fromtimestamp(ts).strftime('%Y-%m-%d %H:%M:%S')
fo.write(st)
fo.close()


#Send Coin
def sendCoin(address, amount):
    print('test ' + str(amount))
    block_io.withdraw(amounts=amount, to_addresses=address)
    #print('success')
    print(block_io)
    return