[RU] Библиотека VIZ для PHP
Введение
Сегодня я выложил на GitHub первую версию viz-php-lib которая ознаменовывает возможность «включения» в экосистему VIZ большой прослойки PHP программистов. Не раз слышал пренебрежительное отношение к этому языку программирования, но погодите секундочку. Разве не на php были сделаны многие legacy проекты, такие как Facebook, ВКонтакте или Википедия (можно и Авито вспомнить)? Только в современности облачных решений стала развиваться модель микро-сервисов и часть инфраструктуры перекочевала на другие решения.
PHP занял свою нишу. На нем море популярнейших движков и сервисов. От Wordpress до 1С-Битрикс (как бы я не относился к нему, пусть и с предубеждением). Считаю важным дать инструменты для интеграции с VIZ всем программистам на php.
И если раньше нужно было собирать расширение к php для работы с криптографией из кодовой базы биткойна, то теперь создано нативное решение, использующее обертку поддерживающую одну из двух популярных библиотек связанных с большими числами. Хостинг провайдеры обеспечивающие желающих php хостингом — множество. И среди них определенно есть много поддерживающих, например, популярную панель управления cPanel, которая позволяет включить как php модуль gmp, так и bcmath.
Возможности
Библиотека содержит 3 основных класса и 1 вспомогательный. Все зависимости уже загружены и внедрены без необходимости их отдельно скачивать.
- Класс JsonRPC — использование обыкновенного сокета для JsonRPC запросов к ноде (поддержка всех API методов, кэш доменов, переключатель проверки ssl, переключатель для получения полного ответа в json формате);
- Класс Keys — приватные ключи (для подписи), публичные (для проверки), нахождение общего ключа, поддержка кодирование ключей (в формате wif и в формате публичного ключа с префиксом VIZ);
- Класс Transaction — простое использование, поддержка мульти-подписей, поддержка мульти-операций в одной транзакции, исполнение через JsonRPC, поддержка 5 наиболее используемых операций: transfer, transfer_to_vesting, withdraw_vesting, award, create_invite (другие операции будут имплементированы позже);
- Классы поддерживают стандарт PSR-4, вам достаточно подключить autoloader.php и вы сможете сразу создавать экземпляры требуемого класса;
- Содержит модифицированные сторонник классы для работы с криптографией для лучшей интеграции с блокчейном VIZ (по принципу «все в одном»)
- Нативный код без дополнительных установок (да, без composer, так как были необходимы изменения в сторонних решениях)
Ну и конечно же, лицензия MIT как у библиотеки, так и у всех подключенных зависимостей.
Заключение
Это большой шаг для нашей экосистемы. Примеры использования вы найдете на GitHub странице viz-php-lib. Скорее всего в будущем будут расширены поддерживаемые операции, появится возможность AES-256 CBC шифрования через shared ключ. Ну а пока надо протестировать библиотеку у обычных хостинг провайдеров и подумать об интеграции единой авторизации, применяемую в том числе на сайте control.viz.world.
Да пребудет с вами Виз.