## Руководство пользователя

### 1. Создание сделки

Сделка может быть создана на сайте поддерживающем работу с BitDeals или в веб интерфейсе нашего [Модуля сделок](https://git.bitdeals.org/private/apostol-dm).

Сделки могут быть двух типов: В **Prepayment** сделке продавец получает деньги до получения вашего отзыва. В **Postpayment** сделке - после, при этом у покупателя есть возможность вернуть деньги в случае возникновения спорной ситуации, в зависимости от решения арбитра сделки. Если покупатель оставляет негативный отзыв, но арбитр не участвует в сделке, то деньги переходят в нашу пользу.

После оплаты суммы, статус сделки меняется с **Created** на **Paid**. И впоследствии на **Completed** незамедлительно, или после вашего отзыва в случае Postpayment сделки.

После создания сделки необходимо проверить её подпись, мы подписываем все сделки цифровой подписью нашего [PGP ключа](https://keyserver.ubuntu.com/pks/lookup?op=get&search=0xC061D33CE0CDF25D1378BBD3DA2C8764788006B3 "DA2C 8764 7880 06B3"). Пример созданной подписанной сделки приведён ниже.

Идентификаторами пользователей в сделках являются их bitcoin адреса. Убедитесь что ваш bitcoin адрес участвует в сделке в качестве покупателя.

Также обратите внимание на **рейтинг** пользователей, состоящий из количества проведённых пользователем сделок и количества успешно завершённых сделок среди ста последних.

В сделке указывается сумма BTC и адрес для её оплаты. Для зачисления оплаты транзакция должна быть подтверждена включением в биткоин блок к сроку указанному в поле "**until**", в противном случае сделка будет отменена (Canceled) и деньги будут перечислены на адрес покупателя (customer).

Обратите внимание на поле "**leave-before**"- это дата действия сделки, до наступления которой вы можете оставить отзыв о сделке.

Пример данных сделки:

```
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512

BitDeal:
  order: Created
  type: Postpayment
  at: http://example.com
  date: 2020-11-06 16:00:00 UTC
  seller:
    address: mjTbMV3cbjtGxYMKV2uKZpZt5v7LRp8TBJ
    rating: 200+, 99%
  customer:
    address: mukvhKgb6CVz36o7Cnu1pnzckqktf7dwcU
    rating: 10, 100%
  payment:
    address: 3N376PKK9qWaX6MSjF9XTKNQRhpeDfD89jg
    until: 2020-11-06 20:00:00 UTC
    sum: 0.0123 BTC
  feedback:
    leave-before: 2020-11-20 16:00:00 UTC

-----BEGIN PGP SIGNATURE-----
Version: cc

iQEzBAEBCgAdFiEEHx6AT+33g1dSZXThknAyJg0n59cFAl3CIXMACgkQknAyJg0n
59ffTQf/X98auPSoMmb76HIf3l1YCiG5KL27ohBf1GiMQfKgWtpE6CTb6RkiGjld
ziSzCq9+y8PZOrLdrgd+ZiKH/hVrJ40BrQNfqtAA3xv+MwzbZ28J0UbVlVIQlHto
+/8waZaHUsZoXi/Z7xEs=
=QVjJ
-----END PGP SIGNATURE-----
```


### 2. Оставление отзыва о сделке

Кроме возможности **оставления отзыва на сайте проведения сделки**, при необходимости, можно оставить негативный отзыв о сделке с помощью Bitmessage. Для этого отправьте Bitmessage боту подписанное приватным bitcoin ключом покупателя (customer) сообщение содержащее "**negative**" в теме, биткоин адрес оплаты сделки и строку текста вашего отзыва в теле сообщения. Адреса ботов указаны в комментарии нашего [PGP ключа](https://keyserver.ubuntu.com/pks/lookup?op=get&search=0xC061D33CE0CDF25D1378BBD3DA2C8764788006B3 "DA2C 8764 7880 06B3").

Пример сообщения содержащего негативный отзыв:

```
3D2oetdNuZUqQHPJmcMDDHYoqkyNVsFk9r
Save yourself the trouble!
H9n843mvWrnK70Vudo8IyI0UhIfy4CpKSW8m10S5LfksKBfnGp6NYh7alg+M8hboefnGY1WM=
```

### 3. Отмена сделки продавцом

Если вы не можете исполнить сделку, то **вы можете отменить её**. Отмена сделки не влияет на ваш рейтинг и не облагается комиссией.

Для отмены сделки отправьте Bitmessage боту подписанное приватным bitcoin ключом продавца (seller) сообщение содержащее “**cancel**” в теме, биткоин адрес оплаты сделки и строку текста с причиной отмены сделки в теле сообщения. Адреса ботов указаны в комментарии нашего [PGP ключа](https://keyserver.ubuntu.com/pks/lookup?op=get&search=0xC061D33CE0CDF25D1378BBD3DA2C8764788006B3 "DA2C 8764 7880 06B3").

Формат сообщения аналогичен сообщению с отзывом о сделке в примере выше.

### 4. Система доверия при создании сделок

Система доверия основана на списке сайтов которым вы разрешаете создавать сделки с вашим участием.

При регистрации новой учётной записи на сайте, URL сайта добавляется в список доверия автоматически.

Изменение учётных данных пользователя может происходить с помощью Bitmessage бота. Адреса ботов указаны в комментарии нашего [PGP ключа](https://keyserver.ubuntu.com/pks/lookup?op=get&search=0xC061D33CE0CDF25D1378BBD3DA2C8764788006B3 "DA2C 8764 7880 06B3"). Для добавления сайта нужно отправить боту подписанное приватным bitcoin ключом вашего пользователя сообщение с темой "**update**" содержащее текущую дату и URL сайта для добавления в теле сообщения. Более подробные сведения об использовании бота можно получить отправив боту сообщение с указанием "**help**" в теме.

Пример сообщения для добавления URL в список доверия:

```
2020-11-06
https://example.org
H9n843mvWrnK70Vudo8IyI0UhIfy4CpKSW8m10S5LfksKBfnGp6NYh7alg+M8hboefnGY1WM=
```

### 5. Регистрация учётной записи

Регистрация новых покупателя и продавца происходят автоматически при создании сделки.

Для регистрации учётной записи позволяющей создавать сделки и участвовать в них в роли арбитра вам потребуются: **биткоин публичный ключ, RSA PGP публичный ключ с указанием URL вашего сайта** в комментарии идентификатора ключа (в формате: `http[s]://\<string\>`).

Ваш приватный PGP ключ должен использоваться на вашем сайте для подписания сделок. При необходимости, вы можете изменить PGP ключ вашей учётной записи. 

Регистрация учётной записи происходит с помощью Bitmessage бота. Адреса ботов указаны в комментарии нашего [PGP ключа](https://keyserver.ubuntu.com/pks/lookup?op=get&search=0xC061D33CE0CDF25D1378BBD3DA2C8764788006B3 "DA2C 8764 7880 06B3"). Для регистрации нужно отправить боту сообщение с темой "**new**" содержащее указанные выше учётные данные в теле сообщения. Более подробные сведения об использовании бота можно получить отправив боту сообщение с указанием "**help**" в теме.

Кроме учётной записи, для создания сделок вам потребуется Модуль сделок - это программа предоставляющая интерфейсы для создания и изменения учётных записей пользователей и сделок.

Доступны исходные коды [Модуля сделок](https://git.bitdeals.org/private/apostol-dm) и документация по использованию [REST-API](https://git.bitdeals.org/private/apostol-dm/src/branch/master/doc/REST-API-ru.md), также доступен [Docker образ](https://hub.docker.com/r/bitdeals/apostol-dm).

