Как использовать Coinbase API для node.js

Есть ли у кого-нибудь опыт использования Coinbase API для node.js

Я следую документации npm coinbase, но она не работает. Я просто пытаюсь узнать цену биткойна. Я сначала установил Coinbase между ними, так что проблема не в этом.

const config = require('../configuration')
const coinbase = require('coinbase')

const apiKey = config.get('COINBASE_API_KEY')
const apiSecret = config.get('COINBASE_API_SECRET')

const client = new coinbase.Client({apiKey, apiSecret})

module.exports = {
  start: async () => {
    client.getBuyPrice({'currencyPair': 'BTC-USD'}, function(err, obj) {
      console.log('total amount: ' + obj.data.amount);
    });
  }
}

Когда я запускаю его, он выдает следующую ошибку:

C: \ Users \ msaad \ VisualStudioProjects \ CryptoTrader-master \ session-1> node index.js C: \ Users \ msaad \ VisualStudioProjects \ CryptoTrader-master \ session-1 \ src \ app \ index.js: 12 console.log ('общая сумма:' + obj.data.amount);

TypeError: невозможно прочитать данные свойства со значением NULL.

Когда я запускаю, он всегда возвращает NULL.


person Saad Hassan    schedule 21.04.2020    source источник
comment
Можете ли вы консольный журнал obj?   -  person Aviv Lo    schedule 21.04.2020
comment
когда я пытаюсь записать только объект obj, он запускается, но также возвращает: total amount: null   -  person Saad Hassan    schedule 21.04.2020
comment
Вот почему obj.data.amount выдает ошибку. Вы уверены, что параметры, которые вы передаете функции getBuyPrice, верны?   -  person Aviv Lo    schedule 21.04.2020
comment
Попробуйте запустить функцию getBuyPrice, не экспортируя и не упаковывая ее в асинхронный режим, и посмотрите, что она делает.   -  person Aviv Lo    schedule 21.04.2020
comment
Он по-прежнему возвращает null. Может быть, мой ключ API все еще отключен? В моей учетной записи базовой монеты сказано, что ключ API активируется через 48 часов после создания.   -  person Saad Hassan    schedule 21.04.2020
comment
Это могло быть так. Но обычно это дает вам 401 несанкционированный доступ. Возможно, загляните через 48 часов, чтобы убедиться, что это работает.   -  person Aviv Lo    schedule 21.04.2020


Ответы (2)


Вы можете отключить SSL для своего клиента.

const { apiKey, apiSecret } = require('./config.js');
const Client = require('coinbase').Client;

const myClient = new Client({ 'apiKey':apiKey, 'apiSecret':apiSecret, 
strictSSL:false });

myClient.getBuyPrice({'currencyPair': 'BTC-USD'}, function(err, obj){
    if(err) console.log("Error: ", err);
    console.log("Total Amount: ", obj.data.amount);
});

В качестве альтернативы вы можете получить и использовать сертификаты SSL, как описано в ответе на этот вопрос.

person Community    schedule 21.04.2020

Неужели только я получаю кучу предупреждений о серьезных уязвимостях после установки пакета npm 'coinbase' и запуска npm audit? Я ничего не могу найти об этом в Google, и все руководства по извлечению данных из Coinbase с помощью node.js, похоже, сосредоточены на использовании этого пакета ...

person Aasmund Berge Endresen    schedule 07.02.2021
comment
Проект Coinbase-Node устарел. - person Sampson; 12.03.2021