-
Notifications
You must be signed in to change notification settings - Fork 0
Home
Pavel edited this page Jul 9, 2021
·
3 revisions
Welcome to the odc-python-server wiki!
- Примеры вводов в документации
- 409 ошибка при повторном soc-е.
- в вики должна быть внутренняя документация о коллекциях в Mongo. Т.к. при развитии проекта, 99% перейдём на постгресс (или касандру), то можно сделать её на русском языке
- переделать в time epoch "time": "20210701160348558400".
- написать формат выхода. Например "sok_signature": "5803296e1ef3cfea5aea508745e851554bb5f3b067a565f64b643b44e5fc38d23b6c21c4d0bae4d5c1175447b02a35c53e4c5babe723633c068fa39d5408b012", -- это base64? Пусть все бинарники будут в base64.
- заменить тупой алгоритм (см. ниже)
- метод /issue-banknotes -> описание signature
- добавить
otok_signuture
в /issue-banknotes -- (otok
, подписанныйspk
на стороне клиента). - проверять
otok_signuture
в /issue-banknotes - добавить
time
(время в UTC) в виде time epoch uint64. Проверить на сервере что t корректно с точностью до минуты. - добавить
time
в рассчётwallet_signature
- убрать sok, sok_signiture, добавить wid. Сам sok получать по wid из хранилища.
- /receive-banknote должен вернуть ПОЛНЫЙ блокчейн в поле
block
- выпилить .idea из проекта, добавить в .gitignore
- поправить шапку всех файлов (см. пример внизу)
"""
example.py
TODO описание модуля
created by pavelmstu in 7/9/21
Проект odc-python-server
"""
__author__ = 'pavelmstu'
__maintainer__ = 'pavelmstu'
__credits__ = ['pavelmstu', ]
__copyright__ = "kib.su, 2021"
__status__ = 'Development'
__version__ = '20210709'
amount = int(amount)
give_amounts = dict()
banknote_amounts = [5000, 2000, 1000, 500, 100, 50, 10, 5, 2, 1]
for banknote_amount in banknote_amounts:
banknote_count = amount // banknote_amount
amount = amount % banknote_amount
if banknote_count > 0:
give_amounts[banknote_amount] = banknote_count
if amount == 0:
break
Новый алгоритм (идём с пункта 1 до конца, при условии что есть ещё деньги в amount):
- выделить 100 банкнот по 1 рублю. Вычесть из amount.
- выделить 100 банкнот по 5 рублей. Вычесть
- выделить 10 банкнот по 10 рублей. Вычесть
- выделить 10 банкнот по 50 рублей. Вычесть
- выделить 10 банкнот по 100 рублей. Вычесть
- выделить 10 банкнот по 500 рублей. Вычесть
- выделить 10 банкнот по 1000 рублей. Вычесть
- выделить 10 банкнот по 5000 рублей. Вычесть
- повторить алгритм снизу-вверх (5000->1)
- goto прошлый шаг.
- (!!) Провести аудит безопасности по Mitre ATT&CK.
- В соотвествии с аудитом -- поменять архитектуру и написать TODO-хи к этому проекту и к мобилке.
- Подумть про процедуру обменивания exchange между мобилкой и сервером
- У нас в качестве хеша используется sha256 и RSA в качестве подписи. Сделать возможность использовать разные алгоритмы. Поправить архитектуру (в том числе на стороне мобилок)
- Подумать как сохранять блокчейны на стороне сервера для дальнейшей аналитики и доп.контроля.