Telegram bot pour automatiser un échangeur de crypto-monnaie

Au lieu d'une préface

Dans cet article, je vais décrire en termes généraux la direction dans laquelle évoluer afin de créer un échangeur de crypto-monnaie semi-automatique avec la possibilité de gérer les transactions à partir de n'importe quel appareil n'importe où dans le monde 24/7. Vous ne trouverez pas les détails de mise en œuvre ici, car Ce matériel est plutôt destiné à fournir les connaissances de base nécessaires pour lancer une telle startup.





Échangeur de crypto-monnaie semi-automatique.

Il était une fois, j'ai écrit un peu sur l'utilisation d'un robot de télégramme pour automatiser certains processus. Je dois dire que beaucoup de temps s'est écoulé, mais je continue à utiliser certaines des idées qui ont été présentées dans ce petit document.





L'échange de crypto-monnaie aujourd'hui n'est plus seulement une réalité, dans une certaine mesure, c'est déjà un besoin. Le temps est impitoyable et l'or numérique devient désormais une partie très importante des actifs de millions de personnes. Il existe plusieurs types d'échangeurs sur Internet, dont les principaux sont:





  • semi-automatique





  • Manuel





  • automatique





  • p2p - échangeurs





  • Échanges





Nous parlerons d'une option semi-automatique avec la possibilité de s'étendre à un échangeur p2p, car c'est un moyen assez simple et pratique.





Ensemble de compétences requises.

, . , , , . , . :





  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



, , . , . , , . - . . , - .





J'espère que quelqu'un trouvera cette information utile. Je voulais juste partager un peu mes expériences et expériences tirées du processus.





Le développement ultérieur se positionne comme une plateforme p2p pour effectuer un échange. Je serais heureux d'avoir des questions et des suggestions, et je vous remercie beaucoup pour votre temps.








All Articles