Em vez de um prefácio
Neste artigo, delinearei em termos gerais a direção a seguir para criar um trocador de criptomoeda semiautomático com a capacidade de gerenciar transações de qualquer dispositivo em qualquer lugar do mundo 24 horas por dia, 7 dias por semana. Você não encontrará detalhes de implementação aqui, uma vez que em vez disso, este material se destina a fornecer o conhecimento básico necessário para lançar tal startup.
Trocador de criptomoedas semiautomático.
Era uma vez, escrevi um pouco sobre o uso de um bot de telegrama para automatizar alguns processos. Devo dizer que já passou muito tempo, mas continuo a usar algumas das ideias que foram apresentadas naquele pequeno material.
A troca de criptomoedas hoje não é mais apenas uma realidade, até certo ponto já é uma necessidade. O tempo é implacável e agora o ouro digital está se tornando uma parte muito importante dos ativos de milhões de pessoas. Existem vários tipos de trocadores na Internet, sendo os principais:
semiautomático
manual
automático
p2p - trocadores
trocas
Falaremos sobre uma opção semiautomática com a capacidade de expandir para um trocador p2p, porque esta é uma maneira bastante simples e conveniente.
Conjunto de habilidades necessárias.
, . , , , . , . :
Linux, zsh, vim, systemd
nginx, ssl
ES6, Material Ui, React, eslint, webpack, scss
python3, asyncio, aiohttp, peewee
postgresql
telegram bot api
docker
:
MVC
-
Abstract Factory, Factory Method, Builder, Facade, Prototype
-
Scheduler
-
Event Listner, State
- ,
Proxy
-
, , . , , .
- , , , - . .. , , , : . , ( ) - ?
, . - , , . Single Page Application, , json-rpc
. tcp,
http.
. Node Package Manager
, , react router,
eslint
, node-sass
css
, webpack
.
- . - . stateless. redux
- , .
, , . , react
material ui
. - , , - .
, :
- ,
. P2P , , . , . , , .
asyncio
, . , . BTC/USD USD/RUB, , . get
, coinbase, kraken, bitmex. aiohttp client
:
, , , - , - , , .
- BaseModel, , , created_at, updated_at , , datetime_serializer, , :
API KEY, blockchain.com. , " ". ? , , . - , . , . , . , , . . callback_url, . webhook url
. . , , . , BTC . , BTC, .
, master wallet, , . . :
, . , , ( ) blockchain.
Billing
Processing,
.
: , , , . : .
Telegram bot
. @BotFather, , , ( - , ).
, rpc
, .
, . ( ). , .
, message
callback_query
(reply inline ).
, . race condition, - , atomic_db_query
async with objects.atomic() as atomic_db_query:
try:
pass # some database change
except:
atomic_db_query.rollback()
- .. , , , . , subscription
, , :
, , . 24/7 , , , :
production
, , CI-CD, .
, , ipython
:
nginx
, , mod_rewrite
.
location = /api/rates/rates.xml {
rewrite .* /api/rates/ last;
}
, xml , rewrite
.
- - Basic Auth
bootstrap admin template
. :
, , , , , . JWT
, SLL
, CORS
, , . , . , , . - . . , - .
Espero que alguém ache esta informação útil. Eu só queria compartilhar um pouco minhas experiências e experiências adquiridas com o processo.
O desenvolvimento posterior está posicionado como uma plataforma p2p para fazer uma troca. Eu ficaria feliz em ter perguntas e sugestões, e muito obrigado pelo seu tempo.