Bot de Telegram para automatizar un intercambiador de criptomonedas

En lugar de un prefacio

En este artículo, describiré en términos generales la dirección en la que se debe mover para crear un intercambiador de criptomonedas semiautomático con la capacidad de administrar transacciones desde cualquier dispositivo en cualquier parte del mundo 24/7. No encontrará detalles de implementación aquí, ya que más bien, este material está destinado a proporcionar los conocimientos básicos necesarios para lanzar una empresa de este tipo.





Intercambiador de criptomonedas semiautomático.

Érase una vez, escribí un poco sobre el uso de un bot de telegramas para automatizar algunos procesos. Debo decir que ha pasado mucho tiempo, pero sigo usando algunas de las ideas que se presentaron en ese pequeño material.





El intercambio de criptomonedas hoy en día ya no es solo una realidad, hasta cierto punto ya es una necesidad. El tiempo es despiadado y ahora el oro digital se está convirtiendo en una parte muy importante de los activos de millones de personas. Existen varios tipos de intercambiadores en Internet, los principales de los cuales son:





  • semiautomático





  • manual





  • automático





  • p2p - intercambiadores





  • intercambios





Hablaremos de una opción semiautomática con la capacidad de expandirse a un intercambiador p2p, porque esta es una forma bastante simple y conveniente.





Conjunto de habilidades requeridas.

, . , , , . , . :





  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 alguien encuentre útil esta información. Solo quería compartir un poco mis experiencias y experiencias adquiridas en el proceso.





El desarrollo adicional se posiciona como una plataforma p2p para realizar un intercambio. Estaría encantado de tener preguntas y sugerencias, y muchas gracias por su tiempo.








All Articles