Данная публикация является переводом оригинальной из официального блога @splinterlands "Splinterlands Public API Policy & Upcoming Change".
Примечание: этот пост предназначен специально для сторонних разработчиков и всех, кто использует публичный API Splinterlands. Не предполагается каких-либо изменений, связанных с обычными игроками.
Splinterlands предоставляет общедоступный API, который позволяет разработчикам и аналитикам данных взаимодействовать и запрашивать данные из игры. Основатели любят все сторонние разработки, которыми полнятся окресности игры, и они хотят поощрять и поддерживать это; однако им также необходимо предотвращать спам и злоупотребления вызовами API, которые могут негативно повлиять на производительность игры для всех остальных участников.
Для того, чтобы это предотвратить, с этой целью разработчики игры будут реализовывать следующую политику использования публичных API:
Спам или другое злоупотребление API запросами приведет к блокировке IP-адресов источника и/или ограничению скорости и/или другим превентивным мерам, которые будут приняты без уведомления.
О критических изменениях в любых API запросах будет объявлено в родном блоге @splinterlands (внимание! не в этом блоге, данный пост – только перевод оригинального поста) как минимум за 7 дней до того, как изменение вступит в силу, за исключением крайних случаев, когда изменение крайне необходимо для обеспечения бесперебойной работы игры.
Splinterlands не несет никакой ответственности за любые убытки или ущерб, понесенные в результате простоя, ошибок или других проблем, которые могут возникнуть с общедоступным API.
Как уже было упомянуто выше, основатели действительно хотят поощрять и поддерживать продолжение сторонних разработок игры, но они должны убедиться, что всё сделано так, чтобы не вызывать проблем. Если у вас есть какие-либо вопросы по поводу правильного использования API, пожалуйста, не стесняйтесь обращаться к @yabapmatt на Splinterlands Discord Server или на мейл [email protected] – основатели будут рады помочь.
Изменение запроса 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 выражает большое спасибо всем сторонним разработчикам, которые предоставили приложения, инструменты, услуги и анализ данных для игры. Разработчикам нравятся все уникальные и инновационные вещи, которые вы создали, которые помогают улучшить общее восприятие для игры, и они ценим вашу поддержку и понимание, поскольку они работают над тем, чтобы развивать эту экосистему разумным и устойчивым способом.
Для тех, кто не в курсе о чём здесь вообще речь: Splinterlands – это коллекционная карточная криптоигра на блокчейне Steem. Для (подтверждения) действий в игре используются транзакции в блокчейне, а каждая карта представляет собой уникальный токен (который будет принадлежать вам и только вам). К тому же карты имеют достаточно широкое разнообразие по параметрам; ежедневно на рынке игроки продают карт суммарно порядка несколько тысяч долларов!
Оставайтесь с нами – подписывайтесь на @splinerlands-ru (а также, если вам понравилось и вы нашли что-то для себя полезное – поддержите апвоутами актуальные посты): здесь мы рассматриваем криптоигру со всех сторон и делимся дельными советами (как для новичков, так и для уже бывалых игроков), а также (в последнее время) переводим новости/освещаем события, которые касаются игры Splinterlands.
Для оперативного общения, задать интересующие вопросы, помимо комментариев к посту, вы можете в нашей чат-группе