-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathbot.py
More file actions
56 lines (53 loc) · 2.24 KB
/
bot.py
File metadata and controls
56 lines (53 loc) · 2.24 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
import decimal
import json
import os
from datetime import datetime
from bitshares import BitShares
from bitshares.instance import set_shared_bitshares_instance
# класс с расчетом цен на бирже BitShares
from btsParser.Parser import Parser
# класс для работы с VIZ (от Протея)
from tvizbase.api import Api
with open(os.path.dirname(__file__) + '/settings.json', 'r') as sett_file:
settings = json.load(sett_file)
decimal.getcontext().rounding = 'ROUND_HALF_UP'
# подключение к ноде node в сети Bitshares
BTS = BitShares(
node=settings['bitshares_node']
)
set_shared_bitshares_instance(BTS)
# подключение к сети VIZ
viz = Api()
# инициализация класса
parser = Parser(settings)
# получение данных о глубине стаканов
parser.get_market_depth()
# получение данных об истории сделок
#parser.get_history_depth()
# публикация данных в блокчейне VIZ
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']
)