Продвинутые функции

URL-схема

iOS позволяет приложениям обмениваться друг с другом информацией через URL-схемы. В кошелёк Dash для iOS внедрена схема dashwallet:// , позволяющая вам запросить кошелёк о завершении транзакции, деноминированной в Dash. На данной странице представлены доступные для этого способы через URL-схему.

Платёж

Формат запроса платежа в URL:

dashwallet://pay=<address>&amount=<amount>&(req-)IS=<0/1>&sender=<sender>

Примечания:

  • sender является одновременно вашим ответным URL и названием приложения, которые вы показываете пользователю. Это сделано для предотвращения фишинга со стороны 3-их лиц.
  • req- может быть добавлен перед IS, чтобы принудительно использовать InstantSend для транзакции. Если у пользователя не включён IntantSend и он не хочет его задействовать, то у пользователя не появится возможности отправить обычную транзакцию.

Пользователь увидет что-то вроде этого:

../../_images/url-scheme.png

Запрос платежа в iOS

Если пользователь вводит правильный пароль, то транзакция отправляется и пользователь возвращается в приложение для отправки, следуя ответному URL.

Формат ответного URL:

<sender>://callback=payack&address=<example:XiUsEXvLjqhuz1Gunbymtw7JUwtkQXQHaa>&txid=<example:09855ac1c57725d8be2c03b53f72d1cb00ecb7b927bc9e7f5aed95cb3a985d76>

Главный публичный ключ

Формат запроса главного публичного ключа:

dashwallet://request=masterPublicKey&account=0&sender=<sender>

Обратите внимание, что профиль пользователя является опциональным и соответствует профилю BIP32/BIP44, большую часть времени его значение должно быть 0. Если профиль не указан, то мы используем профиль 0. При выплнении этого условия, назад отправятся и расширенный публичный ключ 44’/5’/<account>’ и <account>’

Ответ:

<sender>://callback=masterPublicKey&masterPublicKeyBIP32=<example:xpub68GSYNiJZ7k1beEHGmkMUjPsawFvhM7adhbXgnaY1zj5iucUgKPJNDh5iCB8KV2A9FFAGKcGZp5JtQ1XNmT7j2ErRnf8eb4Mt4wjLG6uRcN>&masterPublicKeyBIP44=<example:xpub6DTuSViCnkd1jcgoiQLcghtTAAntBX4zWhfwNMSsmcD94JATNaWZ1tC4NEv6bxcD1YA4474S2BzCDsBA97sM52jiJcmFPBiXcH9JzZSLQJm>&account=0&source=dashwallet

Получите адрес для платежа

dashwallet://request=address&sender=<sender>

Ответ:

<sender>://callback=address&address=<example:XjkMY3GiK5aHwbpg9Uaw7QCPk3QE63Nh5i>&source=dashwallet