Bot do Telegram para automatizar um trocador de criptomoedas

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.

, . , , , . , . :





  1. Linux, zsh, vim, systemd







  2. nginx, ssl







  3. ES6, Material Ui, React, eslint, webpack, scss







  4. python3, asyncio, aiohttp, peewee







  5. postgresql







  6. telegram bot api







  7. docker







:





  1. MVC



    -





  2. Abstract Factory, Factory Method, Builder, Facade, Prototype



    -





  3. Scheduler



    -





  4. Event Listner, State



    - ,





  5. 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.








All Articles