В сети Stellar, существует такое понятие, как платеж, который можно затребовать, то есть в кошельке появляется уведомление, что для вас есть, некий, ожидающий платеж, который вы можете согласиться принять. В случае наличия в кошельке актива в валюте платежа, сумма добавляется к активу. Если такого актива нет, предлагаемую криптовалюту можно обменять на актив, что есть, по указанному курсу.
Описание Claimable Balances есть на странице разработчиков Stellar. Ожидающие принятия платежи, позволяют учетной записи отправлять платеж на другой счет, который не обязательно готов к приему такого платежа. Их можно использовать, когда вы отправляете неродной актив в учетную запись, в которой еще не установлена линия доверия, что может быть полезно для привязки новых пользователей. Линия доверия должна быть установлена заявителем права на актив, прежде чем он сможет согласиться на заявленный баланс, в противном случае требование приведет к ошибке op_no_trust.
Важно отметить, что если заявленный баланс не востребован, он навсегда остается в реестре, занимая место и в конечном итоге, делая сеть менее эффективной. По этой причине рекомендуется указать один из ваших собственных счетов в качестве претендента на требуемый баланс. Затем при необходимости вы сможете принять свой собственный заявленный платеж, освободив место в сети.
Ожидающие платежи в Stellar Laboratory. Чтобы легко востребовать, преобразовать в другой актив или просто сжечь бесполезный ожидающий платеж в Stellar, кошелек не нужен, поскольку мы будем использовать Stellar Laboratory. В разделе предлагаемых сервисов и инструментов Products-and-Tools (stellar.org/products-and-tools), выберите Лабораторию.
Лаборатория Stellar может создавать транзакции, подписывать их и отправлять в сеть.
Для начала воспользуюсь тестовой сетью на вкладке test, так как здесь наглядно показаны атрибуты и значения платежей. В обзоре конечных точек Explore Endpoints нажимаем строку ожидающих платежей Claimable Balances.
Далее, выбираем меню все платежи All Claimable Balances
Теперь, в нижней части страницы появился раздел All Claimable Balances. Для примера, поля заполнять не надо, можно сразу нажать кнопку подтверждения Submit, после чего сгенерируется код, со всеми платежами, в которых я был бы указан как получатель если ввести свой адрес.
В сгенерированном коде есть "id" платежа, вид актива "asset", сумма "amount", указан аккаунт с которого пришел актив "sponsor".
В атрибуте "claimants" помещается список всех получателей платежа и условия их получения. В поле "destination" должен быть указан ваш адрес кошелька как получателя. Обычно, на первом месте здесь стоит адрес отправителя "sponsor", что бы платеж всегда можно было вернуть.
Атрибут "unconditional": true строки "predicate" означает, что получатель требует платеж без всяких условий, например, без конкретной даты, после которого такой платеж можно получить. "Clawback_enabled": false - возврат платежа не предусмотрен.
В поле "Claimant" ввел свой адрес кошелька и нажал кнопку подтверждения. Несмотря на то, что это тестовая сеть, выдало какой то результат. Ожидающих платежей не обнаружено.
Теперь перейду в публичную сеть. То, что это публичная сеть, видно по адресу horizon.stellar.org. Ввел свой адрес кошелька - ожидающих платежей не обнаружено. В случае, если ожидающие платежи есть, для их получения нужно сохранить id платежа, код актива asset (в некоторых случаях сумму), и аккаунт с которого пришел актив sponsor.
Как создать тестовый аккаунт в лаборатории Stellar? Для создания тестового аккаунта, в разделе test переходим на вкладку Create Account и генерируем пару ключей. В поле ниже вставляем публичный ключ и получаем 10 000 тестовых люменов на свой аккаунт.
Баланс тестового аккаунта можно посмотреть в обозревателе тестовой сети Stellar и он, действительно, составляет 10 000 XLM.
Как создать или получить ожидающий платеж Claimable Balances в тестовой сети лаборатории Stellar? Для создания транзакций переходим на вкладку Build Transaction и выбираем test-сеть. В поле отправителя Source Account, то есть меня, указываю полученный в тестовой сети адрес. Далее, получаю порядковый номер транзакции, нажатием на синюю кнопку под полем Transaction Sequence Number.
Как добавить линию доверия trustline в тестовой сети лаборатории Stellar? Линии доверия, это разрешения на использование учетной записи для хранения и торговли определенными активами. Чтобы хранить такой актив, кошелек должен установить линию доверия с аккаунтом эмитента с помощью оператора изменения доверия Change Trust. Линии доверия отслеживают баланс актива, а также могут ограничивать сумму актива, которая может храниться на счете. То есть, вы можете создать платеж для отправки активов на счет без линии доверия, но получатель должен создать линию доверия, чтобы потребовать этот баланс. Так, в выпадающем списке поля типа операции, выбираем Change Trust. Единственный актив, который не требует линии доверия, это нативная монета XML.
Попробую установить линию доверия с эмитентом токена социальной криптоплатформы Slate (Sl8) StarSlax (SSLX). Обратите внимание, в разделе активов, выпущенных этим счетом, указано количество линий доверия SSLX (111,521 trustlines).
Далее, в операторе изменения доверия Change Trust, указываем актив и аккаунт эмитента. Ниже зеленым цветом должно появиться сообщение об успешной операции. Чтобы транзакция попала в реестр, транзакция должна быть подписана и отправлена в сеть. Для этого нажимаем кнопку "Sign in Transaction Signer" и попадаем на вкладку подписи транзакции "Sign Transaction".
На вкладке подписи транзакций, вводим секретный ключ, после чего в нижней части странице должно появиться сообщение зеленым цветом о подписании транзакции. Теперь, когда эта транзакция подписана, вы можете отправить ее в сеть кнопкой Submit in Transaction Submitter.
Так, попадаем на вкладку Submit Transaction и нажимаем кнопку подтверждения.
В принципе, прогнозируемо, транзакция не удалась, так как сеть тестовая и как я понял, работает только с нативной монетой XLM. В ошибке указано, что эмитент не найден "op_no_issuer".
Подробнее, как создать, востребовать, или обменять на другой актив, ожидающий платеж Claimable Balances, без кошелька, с помощью платформы Stellar Laboratory в публичной сети, читайте в следующих публикациях. В тестовой сети используется только нативная монета XLM.
Комментариев нет:
Отправить комментарий