예제 #1
0
viz.custom(
    'vizplus_bitshares_info',  # ID custom'а 
    [
        'vizplus_bitshares_info',  # название типа данных, может отличаться от ID
        {
            'time_utc':
            str(datetime.utcnow()),
            'average_bid_price':
            str(
                decimal.Decimal(parser.average_bid_price).quantize(
                    decimal.Decimal('1.' +
                                    '0' * settings['price_precision']))),
            'average_ask_price':
            str(
                decimal.Decimal(parser.average_ask_price).quantize(
                    decimal.Decimal('1.' +
                                    '0' * settings['price_precision']))),
            #'average_history_price': str(decimal.Decimal(
            #    parser.average_history_price
            #).quantize(decimal.Decimal('1.' + '0'*settings['price_precision']))),
            'quote':
            parser.sett['quote'],
            'base':
            parser.sett['base'],
            'additional_assets':
            parser.sett['additional_assets'],
            'usdt_assets':
            parser.sett['usdt_assets'],
            'base_depth':
            parser.sett['base_depth'],
            #'history_depth': parser.sett['history_depth']
        }
    ],
    settings['viz_account']['login'],
    settings['viz_account']['key'])
예제 #2
0
viz.custom(
    settings['viz_custom_name'],  # ID custom'а 
    [
        'exchanger_data',  # название типа данных
        {
            'datetime':
            str(datetime.utcnow()),
            'viz_balance':
            str(viz_balance),
            'viz_limit_min':
            str(settings['viz_limit_min']),
            'viz_limit_max':
            str(settings['viz_limit_max']),
            'buy_viz_limit_min':
            str(buy_viz_limit_min),
            'buy_viz_limit_max':
            str(buy_viz_limit_max),
            'usdt_balance':
            str(usdt_balance),
            'usdt_limit_min':
            str(settings['usdt_limit_min']),
            'usdt_limit_max':
            str(settings['usdt_limit_max']),
            'buy_usdt_limit_min':
            str(buy_usdt_limit_min),
            'buy_usdt_limit_max':
            str(buy_usdt_limit_max),
            'rate':
            str(rate),
            'exchange_ratio':
            str(
                decimal.Decimal(settings['exchange_ratio']).quantize(
                    decimal.Decimal('1.00'))),
            'usdt_fee':
            str(settings['usdt_fee']),
            'eth_wallet_cost':
            str(settings['eth_wallet_cost']),
            'viz_wallet':
            settings['viz_wallet']['login'],
            'viz_wallet_cold':
            settings['viz_wallet_cold']['login'],
            'eth_wallet':
            settings['eth_wallet']['login'],
            'eth_wallet_cold':
            settings['eth_wallet_cold']['login'],
            'bird_account':
            settings['bird_account']['login']
        }
    ],
    settings['rate_account']['login'],
    settings['rate_account']['key'])
receiver = 'committee'
#Calculating percentage of the award
award_percent = round(settings['award_percent'] * 100 *
                      settings['award_base'] / account['SHARES'])
#Sending award in the blockchain
res = viz.award(settings['viz_account']['login'], receiver, award_percent,
                settings['viz_account']['key'])
if res == False:
    sys.exit()
#Saving the last operation block number in the json file
settings['last_block_num'] = res['block_num']
with open(os.path.dirname(__file__) + '/settings.json', 'w') as sett_file:
    json.dump(settings, sett_file)
#Getting current award size from the virtual operations
ops = viz.get_ops_in_block(int(res['block_num']))
for op in ops:
    op = op['op']
    if (op[0] == 'receive_award'
            and op[1]['initiator'] == settings['viz_account']['login']
            and op[1]['receiver'] == receiver):
        award_size = round(
            float(op[1]['shares'].split()[0]) *
            (100 / settings['award_percent']) / settings['award_base'], 6)
        #Sending new custom operation in the blockchain
        viz.custom('award_informer', [
            'award_informer', {
                'time_utc': str(datetime.utcnow()),
                'award_on_capital': award_size
            }
        ], settings['viz_account']['login'], settings['viz_account']['key'])
예제 #4
0
# -*- coding: utf-8 -*-

import json
from pprint import pprint

from tvizbase.api import Api

print('connect')
b4 = Api()
print('try call')

id = 'viz_contract'
payload = {"app": 'thallid', "spell": 'fireball', "damage": 100}

account = 'ksantoprotein'
wif = '5...'

tx = b4.custom(id, payload, account, wif)
pprint(tx)
input()