Политика публичного API и предстоящие изменения

Политика публичного API и предстоящие изменения

26/01/2020 0 Автор splinterlands.ru
Поделись в любимой соц. сети!

Данная публикация является переводом оригинальной из официального блога @splinterlands "Splinterlands Public API Policy & Upcoming Change".

Примечание: этот пост предназначен специально для сторонних разработчиков и всех, кто использует публичный API Splinterlands. Не предполагается каких-либо изменений, связанных с обычными игроками.


Splinterlands предоставляет общедоступный API, который позволяет разработчикам и аналитикам данных взаимодействовать и запрашивать данные из игры. Основатели любят все сторонние разработки, которыми полнятся окресности игры, и они хотят поощрять и поддерживать это; однако им также необходимо предотвращать спам и злоупотребления вызовами API, которые могут негативно повлиять на производительность игры для всех остальных участников.

Для того, чтобы это предотвратить, с этой целью разработчики игры будут реализовывать следующую политику использования публичных API:

  1. Спам или другое злоупотребление API запросами приведет к блокировке IP-адресов источника и/или ограничению скорости и/или другим превентивным мерам, которые будут приняты без уведомления.
  2. О критических изменениях в любых API запросах будет объявлено в родном блоге @splinterlands (внимание! не в этом блоге, данный пост – только перевод оригинального поста) как минимум за 7 дней до того, как изменение вступит в силу, за исключением крайних случаев, когда изменение крайне необходимо для обеспечения бесперебойной работы игры.
  3. Splinterlands не несет никакой ответственности за любые убытки или ущерб, понесенные в результате простоя, ошибок или других проблем, которые могут возникнуть с общедоступным API.

Как уже было упомянуто выше, основатели действительно хотят поощрять и поддерживать продолжение сторонних разработок игры, но они должны убедиться, что всё сделано так, чтобы не вызывать проблем. Если у вас есть какие-либо вопросы по поводу правильного использования API, пожалуйста, не стесняйтесь обращаться к @yabapmatt на Splinterlands Discord Server или на мейл support@splinterlands.io – основатели будут рады помочь.


Изменение запроса API входа в игру

Начиная с понедельника, 20 января, запрос API /Players/login будет требовать отправки валидной подписи в качестве параметра строки запроса, подписанного приватным постинг-ключом указанной учетной записи блокчейна Steem.

Подписываемое сообщение - это текущая временная метка (в миллисекундах), добавленная к имени учетной записи. Например: shenan1579995586326

Ниже приведены некоторые фрагменты кода для генерации подписи с использованием расширения браузера Steem Keychain и некоторых библиотек JS.

После того как вы сгенерировали правильную подпись, вы можете выполнить запрос API /Players/login следующим образом:

https://steemmonsters.com/players/login?name=[username]&ts=[timestamp]&sig=[signature]

Обратите внимание, что отметка времени, отправляемая при входе в систему с параметром ts, должна совпадать с той, которая используется в подписанном сообщении.


Примеры подписи сообщений

  • Чтобы подписать сообщение через расширение браузера Steem Keychain, вы можете отправить запрос:
steem_keychain.requestSignBuffer(username, username + timestamp, 'Posting', r => {
    if(r.result) {
        // r.result is the signature
    } else {
        // Error
    }
})

  • Для подписи сообщения с помощью библиотеки dSteem JS, вы можете отправить запрос:

    dsteem.PrivateKey.fromString(private_posting_key).sign(Buffer.from(dsteem.cryptoUtils.sha256(username + timestamp))).toString()

  • Для подписи сообщения с помощью библиотеки EOS JS ECC Library, вы можете отправить запрос:

    eosjs_ecc.sign(username + timestamp, private_posting_key);

Спасибо за Вашу поддержку

Команда криптоигры Splinterlands выражает большое спасибо всем сторонним разработчикам, которые предоставили приложения, инструменты, услуги и анализ данных для игры. Разработчикам нравятся все уникальные и инновационные вещи, которые вы создали, которые помогают улучшить общее восприятие для игры, и они ценим вашу поддержку и понимание, поскольку они работают над тем, чтобы развивать эту экосистему разумным и устойчивым способом.


Поделись в любимой соц. сети!