Olá pessoal,

Resolvi escrever esse post aqui, por que aconteceu uma para muito interessante essa semana.

Como eu queria acompanhar essa queda absurda do bitcoin nas duas ultimas semanas, eu decidi fazer um pequeno script em NodeJS que busca as cotações nas duas exchanges que eu opero, a BitcoinTrade e a Coinbase.

Então fiz um script que consulta a api das duas exchanges de forma simultanea e retorna as cotações em uma única string para que possa ser exibida na TouchBar do macbook.

Resolvi escrever o post aqui tambem, depois que percebi que tem algumas pessoas interessadas nesse assunto nos grupos de bitcoin e javascript.

Entao vou explicar como o codigo funciona:

Primeiramente instale a biblioteca request para facilitar a nossa consulta à api.

Vamos criar uma função que facilita a nossa consulta a api, ela utiliza da biblioteca request, retorna uma Promise que se resolve com o body já convertido de string Json para objeto Javascrip, passando pelo dataResolver.

Como vimos no exemplo anterior nós temos duas funções que ainda nao falamos ainda o parseJson e o dataResolver.

A parseJson é apenas uma funcao que engloba a função nativa do JSON.parse(), retornando null caso algum erro ocorra.

Para falar do Data resolver, temos que falar das nossas funcoes que buscam os dados nas APIs do Coinbase e bitcointrade.

Vamos começa pelo Coinbase.

Aqui temos o primeiro dataResolver, que pega o objeto retornado pela doRequest, e busca a chave que contem o valor da cotação do bitcoin, no caso da Coinbase está em data.data.amount, e antes de retornar, passa pela função formatWithCurrency.

Agora a função que busca a cotação no BitcoinTrade, bem similar com a da Coinbase, mudando apenas o dataResolver, que consegue a cotação em data.data.last.

Agora vamos ver a formatWithCurrency. A única coisa que esta função faz é converter o valor para inteiro, formatá-lo com duas casas decimais e prefixar com o símbolo da moeda.

Pronto, agora que temos todas as funçoes que precisamos, vamos criar uma função autoexecutavel que consulta as duas APIs de forma simultanea e imprime o valor no console.

Código completo

O código completo apenas é exibido no desktop, pois a leitura fica mais fácil, mas você pode acessar tambem pelo link direto do Gist.

Espero que tenham gostado, se você tem alguma dúvida sobre ES6 ou se você nao entendeu alguma parte do código, deixe suas dúvidas nos comentários. =)

Para saber mais…

Se você gostou desse post, compartilhe com seus amigos, ajude a espalhar conhecimento!
Não se esqueça de nos serguir nas redes sociais, por que você não pode ficar de fora!

  1. Curta nossa página no facebook
  2. Não perca as atualizações no twitter
  3. Veja as dicas no instagram
  4. Siga nossos repositórios no github
  5. Faça parte da nossa lista de desenvolvedores

@emersonbroga

Formado em Desenvolvimento de Sistemas pela Faculdade Pitágoras e pós-graduado em Gestão Estratégica de Marketing pela PUC Minas trabalhei em diversas agências e atualmente trabalho em projetos internacionais como FOX.com, FXNetworks.com, NatGeo.com entre outros.