Download the PHP package erachain/sdk-php without Composer
On this page you can find all versions of the php package erachain/sdk-php. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Informations about the package sdk-php
Erachain PHP SDK
Библиотека предназначена для работы с блокчейн сетью Erachain . Библиотека имеет функционал по генерации аккаунта (сид, ключи, адрес), созданию персон, созданию и отправке активов, отправке сообщений, работе с транзакциями и тд.
Библиотека работает только с 64-битными версиями PHP, от версии PHP 5.6 и выше.
Устанока Erachain PHP SDK
Установка производится с помощью Composer:
Использование библиотеки
Для использования библиотеки необходимо подключить автозагрузку composer и объявить объект Erachain.
В параметре объекта Erachain() задаётся режим работы и ссылка на ноду (оба параметра не обязательны):
- Режим работы:
'dev'- тестовая сеть (используется по умолчанию)'live'- боевая сеть
- Ссылка на ноду:
http://206.81.27.15:9067 /(вы можете выбрать любой другой доступный адрес, по умолчанию ставится автоматически доступный адрес)
Доступные методы Erachain
Криптография:
crypto->generate_seed()- Генерация сидаcrypto->generate_account()- Генерация аккаунта (сид, ключи, адрес)crypto->encrypt()- Зашифровка сообщенияcrypto->decrypt()- Расшифровка сообщения
Работа с персонами:
person->info()- Создание байт-кода персоныperson->issue()- Регистрация персоны в сети Erachainperson->certify()- Подтверждение персоныperson->api()- Работа с API запросами к ноде по персоне
Работа с активами:
asset->issue()- Создание активаasset->send()- Отправка активаasset->api()- Работа с API запросами к ноде по активам
Работа с сообщениями/телеграмами:
message->send()- Отправка сообщенияmessage->api()- Работа с API запросами к ноде по сообщениямtelegram->send()- Отправка телеграмыtelegram->api()- Работа с API запросами к ноде по телеграмам
Работа с биржей:
order->create()- Создание ордераorder->cancel()- Отмена ордераorder->api()- Работа с API запросами к ноде по ордерам
Работа с статусами:
status->issue()- Создание статусаstatus->set()- Установка статуса сущности (персона, актив и тд)
Работа с голосованием:
poll->issue()- Создание голосованияpoll->vote()- Проголосовать
Работа с подтверждением транзакций:
vouch->sign()- Подписать транзакцию
Работа с транзакциями:
transaction->api()- Работа с API запросами к ноде по транзакциям
Выполнение любого запроса к ноде:
api()- список доступных запросов в документации: https://app.swaggerhub.com/apis-docs/Erachain/era-api/1.0.0-oas3
Примеры использования
1. Криптография
1.1. Генерация сида
Возвращает сид в виде байт кода и в base58.
1.2. Генерация аккаунта
$seed_base58- параметр не обязателен. При отсутствии параметра или при указанииfalseгенерируется новый сид.-
$number_account- параметр не обязателен. При осутствии параметра, создаётся аккаунт с порядковым номером0. Если вам необходимо создать дополнительный аккаунт для конкретного сида, в параметрах укажите ваш$seed_base58, а в параметре$number_accountукажите1для второго аккаунта,2для третьего и тд.1.3. Шифрование сообщения
$message- обязательный параметр. Сообщение которое нужно зашифровать.$public_key- обязательный параметр. Публичный ключ получателя сообщения.-
$private_key- обязательный параметр. Приватный ключ отправителя сообщения.1.4. Расшифровка сообщения
$message- обязательный параметр. Сообщение которое нужно расшифровать.$public_key- обязательный параметр. Публичный ключ отправителя сообщения.-
$private_key- обязательный параметр. Приватный ключ получателя сообщения.2. Работа с персонами
2.1. Создание байт-кода персоны
$public_key- обязательный параметр. Публичный ключ создателя персоны.$private_key- обязательный параметр. Приватный ключ создателя персоны.-
$params- обязательный параметр. Параметры для создания персоны.owner- не обязательный параметр. Публичный ключ владельца персоны (по умолчанию $public_key)name- обязательный параметр. Имя персоныdescription- обязательный параметр. Описание персоныicon- не обязательный параметр. Путь к иконке персоныimage- не обязательный параметр. Путь к фото персоны (JPG, максимум 20КБ)birthday- обязательный параметр. Дата рождения (timestamp с миллисекундами)death_day- обязательный параметр. Дата смерти (timestamp с миллисекундами)gender- обязательный параметр. Пол персоны (0 - мужской, 1 - женский)race- обязательный параметр. Раса персоныbirth_latitude- обязательный параметр. Широта места рожденияbirth_longitude- обязательный параметр. Долгота места рожденияskin_color- обязательный параметр. Цвет кожи персоныeye_color- обязательный параметр. Цвет глаз персоныhair_color- обязательный параметр. Цвет волос персоныheight- обязательный параметр. Рост персоны2.2. Регистрация персоны в сети Erachain
$public_key- обязательный параметр. Публичный ключ регистратора.$private_key- обязательный параметр. Приватный ключ регистратора.-
$params- обязательный параметр. Параметры для регистрации персоны.raw- обязательный параметр. Байт-код с информацией персоны.2.3. Подтверждение персоны
$public_key- обязательный параметр. Публичный ключ того кто подтверждает персону.$private_key- обязательный параметр. Приватный ключ того кто подтверждает персону.-
$params- обязательный параметр. Параметры для создания персоны.person_key- обязательный параметр. Ключ персоны, которую нужно подтвердитьpublic_key- обязательный параметр. Публичный ключ, к которому привязываем персонуПримечание: нельзя подтвердить свою персону. Блокчейн сеть так устроена, что персону может подтвердить только другая персонифицированная персона.
2.4. Запросы к ноде по персоне
$request- обязательный параметр. Запрос к ноде. Доступные запросы для персоны:personheight- получение высоты цепочки персонperson- получение данных персоны по ключу персоныpersondata- получение иконки и изображения персоны по ключу персоныpersonkeybyaddress- получение ключа персоны по адресу (счёту)personbyaddress- получение данных персоны по адресу (счёту)personkeybypublickey- получение ключа персоны по публичному ключуpersonbypublickey- получение данных персоны по публичному ключуpersonsfilter- получение данных персон по имени персоны (полному/частичному)personkeybyownerpublickey- получение ключа персоны по публичному ключу создателя персоны- ... все запросы из ->transaction_api()
$params- не обязательный параметр (зависит от выбранного запроса). Параметры необходимые при том или ином запросе можно посмотреть в примерах персоны или в документации классаPerson.
3. Работа с активами
3.1. Создание актива
$public_key- обязательный параметр. Публичный ключ создателя актива.$private_key- обязательный параметр. Приватный ключ создателя актива.-
$params- обязательный параметр. Параметры для создания актива.owner- не обязательный параметр. Публичный ключ владельца актива (по умолчанию $public_key)name- обязательный параметр. Название активаdescription- обязательный параметр. Описание активаicon- не обязательный параметр. Путь к иконке активаimage- не обязательный параметр. Путь к изображению активаquantity- обязательный параметр. Кол-во активаscale- обязательный параметр. Кол-во знаков после запятой. Данный параметр используется при отправке актива. Допустим если указано0- значит можно передавать только целые активы, например 3 штуки, при попытке передать 3.5 шт система выдаст ошибку.asset_type- обязательный параметр. Тип актива (для цифрового актива указывайте - 1)3.2. Отправка актива
$public_key- обязательный параметр. Публичный ключ отправителя актива.$private_key- обязательный параметр. Приватный ключ отправителя актива.-
$params- обязательный параметр. Параметры для отправки актива.recipient- обязательный параметр. Адрес получателяasset_key- обязательный параметр. Ключ активаamount- обязательный параметр. Кол-во активаhead- обязательный параметр. Заголовок отправки активаmessage- не обязательный параметр. Сообщение активаencrypted- не обязательный параметр. Шифрование актива (1 - шифровать, 0 - не шифровать)is_text- не обязательный параметр. Тип сообщения (1 - сообщение является текстом, 0 - массив байтов)Примечание: обратите внимание на параметр amount, если scale актива = 0 , можно указывать только целые числа, если scale = 1, то в amount можно указать например 3.6
3.3. Запросы к ноде по активу
$request- обязательный параметр. Запрос к ноде. Доступные запросы для активов:addressassets- Получение списка активов по адресуaddressassetbalance- Получение остатка актива по адресу и ключу активаassets- Получение всех активов сетиasset- Получение информации актива по ключу активаasseticon- Получение иконки актива по ключу активаassetimage- Получение изображения актива по ключу активаassetdata- Получение иконки и изображения по ключу активаassetsfilter- Получение данных активов по названию актива (полному/частичному)assetheight- Получение высоты последнего добавленного актива- ... все запросы из ->transaction_api()
-
$params- не обязательный параметр (зависит от выбранного запроса). Параметры необходимые при том или ином запросе можно посмотреть в примерах активов или в документации классаAsset.4. Работа с сообщениями
4.1. Отправка сообщения
$public_key- обязательный параметр. Публичный ключ отправителя сообщения.$private_key- обязательный параметр. Приватный ключ отправителя сообщения.-
$params- обязательный параметр. Параметры для отправки сообщения.recipient- обязательный параметр. Адрес получателяhead- обязательный параметр. Заголовок сообщенияmessage- обязательный параметр. Сообщениеencrypted- не обязательный параметр. Шифрование сообщения (1 - шифровать, 0 - не шифровать)is_text- не обязательный параметр. Тип сообщения (1 - сообщение является текстом, 0 - массив байтов)4.2. Запросы к ноде по сообщениям
$request- обязательный параметр. Запрос к ноде. Доступные запросы для сообщений:getbyaddress- Получаем сообщения по адресу- ... все запросы из ->transaction_api()
-
$params- не обязательный параметр (зависит от выбранного запроса). Параметры необходимые при том или ином запросе можно посмотреть в примерах сообщений/телеграм или в документации классаMessage.4.3. Отправка телеграмы
$public_key- обязательный параметр. Публичный ключ отправителя телеграмы.$private_key- обязательный параметр. Приватный ключ отправителя телеграмы.-
$params- обязательный параметр. Параметры для отправки телеграмы.recipient- обязательный параметр. Адрес получателяhead- обязательный параметр. Заголовок телеграмыmessage- обязательный параметр. Сообщение телеграмыencrypted- не обязательный параметр. Шифрование телеграмы (1 - шифровать, 0 - не шифровать)is_text- не обязательный параметр. Тип телеграмы (1 - сообщение является текстом, 0 - массив байтов)4.4. Запросы к ноде по телеграмам
$request- обязательный параметр. Запрос к ноде. Доступные запросы для телеграм:getbysignature- Получаем телеграму по сигнатуреget- Получаем список телеграм по адресу получателя и фильтруtimestamp- Получаем список телеграм по стартовой временной метке и заголовкуcheck- Проверяем наличае телеграмы по сигнатуре
-
$params- не обязательный параметр (зависит от выбранного запроса). Параметры необходимые при том или ином запросе можно посмотреть в примерах сообщений/телеграм или в документации классаTelegram.5. Работа с биржей
5.1. Создание ордера
$public_key- обязательный параметр. Публичный ключ создателя ордера.$private_key- обязательный параметр. Приватный ключ создателя ордера.-
$params- обязательный параметр. Параметры для создания ордера.have_asset- обязательный параметр. Ключ актива, который хотим передатьwant_asset- обязательный параметр. Ключ актива, который хотим получитьhave_amount- обязательный параметр. Кол-во актива которое хотим передатьwant_amount- обязательный параметр. Кол-во актива которое хотим получить5.2. Отмена ордера
$public_key- обязательный параметр. Публичный ключ создателя ордера.$private_key- обязательный параметр. Приватный ключ создателя ордера.-
$params- обязательный параметр. Параметры для отмены ордера.signature- обязательный параметр. Сигнатура ордера5.3. Запросы к ноде по бирже
$request- обязательный параметр. Запрос к ноде. Доступные запросы для ордеров:order=> Получение ордера по номеру блока с последовательностью или сигнатуреordersbook=> Получение ордера по ключу передаваемого и получаемого активаordersbyaddress=> Получение списка ордеров по адресу создателяcompletedordersfrom=> Получение завершенных ордеровallordersbyaddress=> Получение всех ордеров по адресуtrades=> Получение сделок по временной меткеtradesfrom=> Получение сделки по ключу передаваемого и получаемого активаvolume24=> Получение сделки по ключу передаваемого и получаемого актива за последние 24 часа- ... все запросы из ->transaction->api()
-
$params- не обязательный параметр (зависит от выбранного запроса). Параметры необходимые при том или ином запросе можно посмотреть в примерах ордеров или в документации классаOrder.6. Работа с статусами
6.1. Создание статуса
$public_key- обязательный параметр. Публичный ключ создателя статуса.$private_key- обязательный параметр. Приватный ключ создателя статуса.-
$params- обязательный параметр. Параметры для создания статуса.type_item- не обязательный параметр. Тип статуса (1 - уникальный, 0 - не уникальный)owner- не обязательный параметр. Публичный ключ владельца статуса (по умолчанию $public_key)name- обязательный параметр. Название статусаicon- не обязательный параметр. Путь к иконке статусаimage- не обязательный параметр. Путь к изображению статусаdescription- обязательный параметр. Описание статуса с параметрами:- %1 - первый числовой параметр
- %2 - второй числовой параметр
- %3 - первый строковый параметр
- %4 - второй строковый параметр
6.2. Установка статуса сущности (персона, актив и тд)
$public_key- обязательный параметр. Публичный ключ назначающего статус.$private_key- обязательный параметр. Приватный ключ назначающего статус.-
$params- обязательный параметр. Параметры для установки статуса.key_status- обязательный параметр. Ключ статуса, который устанавливаемitem_type- обязательный параметр. Тип сущности, которой назвачаем статус:- 1 - ASSET_TYPE
- 2 - IMPRINT_TYPE
- 3 - NOTE_TYPE
- 4 - PERSON_TYPE
- 5 - STATUS_TYPE
- 6 - UNION_TYPE
key_item- обязательный параметр. Ключ элемента выбранной сущностиdate_start- обязательный параметр. Время старта действия статусаdate_end- обязательный параметр. Время окончания действия статусаvalue_1- не обязательный параметр. Первое числовое значение для подстановки (%1)value_2- не обязательный параметр. Второе числовое значение для подстановки (%2)data_1- не обязательный параметр. Первое строковое значение для подстановки (%3)data_2- не обязательный параметр. Второе строковое значение для подстановки (%4)description- не обязательный параметр. Описание для подстановки (%D)7. Работа с голосованием
7.1. Создание голосования
$public_key- обязательный параметр. Публичный ключ создателя голосования.$private_key- обязательный параметр. Приватный ключ создателя голосования.-
$params- обязательный параметр. Параметры для создания голосования.owner- не обязательный параметр. Публичный ключ владельца голосованияname- обязательный параметр. Название голосованияicon- не обязательный параметр. Путь к иконке голосованияimage- не обязательный параметр. Путь к изображению голосованияdescription- обязательный параметр. Описание голосованияoptions- обязательный параметр. Массив с вариантами ответа7.2. Проголосовать
$public_key- обязательный параметр. Публичный ключ голосующего.$private_key- обязательный параметр. Приватный ключ голосующего.-
$params- обязательный параметр. Параметры для голосования.poll_key- обязательный параметр. Ключ голосованияoption_number- обязательный параметр. Номер варианта ответа8. Работа с подтверждением транзакций
8.1. Подписать транзакцию
$public_key- обязательный параметр. Публичный ключ подтверждающего транзакцию.$private_key- обязательный параметр. Приватный ключ подтверждающего транзакцию.-
$params- обязательный параметр. Параметры для подтверждения.block_height- обязательный параметр. Номер блокаseq_number- обязательный параметр. Номер транзакции в блоке9. Работа с транзакциями
9.1. Запросы к ноде по транзакциям
$request- обязательный параметр. Запрос к ноде. Доступные запросы для транзакций:height- Получение высоты последнего блокаrecord- Получение информации транзакции по сигнатуреgetbynumber- Получение транзакции по номеру блока с номером sequencerecordrawbynumber- Получение байт кода по номеру блока и номеру sequenceincomingfromblock- Получение транзаций по адресу получателя и номеру блокаgetbyaddress- Получение транзаций по адресуfind- Получение транзаций по заданным параметрам
-
$params- не обязательный параметр (зависит от выбранного запроса). Параметры необходимые при том или ином запросе можно посмотреть в примерах транзакций или в документации классаTransaction.10. Выполнение любого запроса к ноде
$request- обязательный параметр. Запрос к ноде. Полный список в документации: https://app.swaggerhub.com/apis-docs/Erachain/era-api/1.0.0-oas3$params- не обязательный параметр (зависит от выбранного запроса). Является массивом при отправке GET -параметров, строкой при отправке байт-кода методом POST$method- не обязательный параметр (по умолчанию 'get'). Метод отправки запроса к ноде 'get' / 'post'
All versions of sdk-php with dependencies
paragonie/random_compat Version <9.99
paragonie/sodium_compat Version 1.12.*
stephenhill/base58 Version ~1.0
siriusphp/validation Version *
brick/math Version 0.5
ext-openssl Version *
ext-bcmath Version *
ext-json Version *
ext-curl Version *