почему coinbase api возвращает ошибку, когда код работал нормально? - PullRequest
1 голос
/ 07 апреля 2020

Я использовал вышеуказанный код для взаимодействия с coinbase api.it работал нормально, но до недавнего времени он возвращал ошибку. Вот код

var coinbase = require('coinbase');
var mysecret = 'apisecret'
var mykey = 'apikey'
var client   = new coinbase.Client({'apiKey': mykey, 'apiSecret': mysecret});
client.getAccounts({}, function(err, accounts) {
   if (err)throw err;
    console.log(accounts)

});

вот ошибка, которую я получаю

if (err)throw err
           ^

Error: unable to get local issuer certificate
    at TLSSocket.onConnectSecure (_tls_wrap.js:1058:34)
    at TLSSocket.emit (events.js:198:13)
    at TLSSocket._finishInit (_tls_wrap.js:636:8)

1 Ответ

1 голос
/ 10 апреля 2020

Coinbase обновила SSL-сертификаты, чтобы обойти это, вам нужно будет установить strictSSL на false при создании нового клиента

const coinbase = require('coinbase')

const mysecret = 'apisecret'
const mykey = 'apikey'

const client = new coinbase.Client({ apiKey: mykey, apiSecret: mysecret, strictSSL: false })

client.getAccounts({}, function(err, accounts) {
    if (err) throw err
    console.log(accounts)
})

или передаче новых сертификатов

const coinbase = require('coinbase')

const mysecret = 'apisecret'
const mykey = 'apikey'
const caFile = fs.readFileSync('./caFileLocation')

const client = new coinbase.Client({ apiKey: mykey, apiSecret: mysecret, caFile })

client.getAccounts({}, function(err, accounts) {
    if (err) throw err
    console.log(accounts)
})
...