Advertisement
Guest User

Untitled

a guest
Feb 26th, 2017
245
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. const golos = require('golos') // импортируем модуль голоса
  2. const Promise = require("bluebird") // импортируем модуль Bluebird -- самую популярную имплементацию Promise
  3. const accountName = '' // аккаунт пользователя, который запускает бота
  4. const postingKey = '' // приватный постинг ключ пользователя, который запускает бота
  5. const accountNameToFollow = 'academy' // аккаунт пользователя за которым следим
  6.  
  7. // создаем новый Promise обворачивая golos.api.getDynamicGlobalProperties
  8. const dynamicGlobalProperties = new Promise((resolve, reject) => {
  9.     golos.api.getDynamicGlobalProperties((err, result) => {
  10.         if (err) {
  11.             reject(err)
  12.         }
  13.         else {
  14.             resolve(result)
  15.         }
  16.     })
  17. })
  18.  
  19. const pluckBlockHeight = x => x.head_block_number
  20.  
  21. const getBlockData = height => {
  22.     golos.api.getBlock(height, (err, result) => {
  23.         if (err) {
  24.             console.log(err)
  25.         }
  26.         else {
  27.             console.log('')
  28.             console.log('============ НОВЫЙ БЛОК ============')
  29.             console.log(result)
  30.         }
  31.     })
  32. }
  33.  
  34. const startFetchingBlocks = startingHeight => {
  35.     let height = startingHeight
  36.     setInterval(() => {
  37.         getBlockData(height)
  38.         height = height + 1 // брррр, мутация
  39.         // у нас есть доступ к переменной height благодаря closure
  40.     }, 3000)
  41.     // Задаем интервал в 3000 мс т.к. блок Голоса генерируется каждые три секунды
  42. }
  43.  
  44. // резолвим Promise
  45. dynamicGlobalProperties
  46.     .then(pluckBlockHeight)
  47.     .then(startFetchingBlocks)
  48.     .catch(e => console.log(e))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement