Появившись на площадке GOLOS, практически сразу ощутил желание как-то помочь её развитию. Сделать что-то такое, до чего не доходят руки у Команды, или что попросту является прерогативой скорее сторонних воркеров, чем основных разработчиков.
Мой стек -- это JS/TS (и главным образом Vue), Python, Go... и немножко Си и C++... В некоторой мере :)
Как оказалось -- как раз в такой, чтобы обнаружить, что в БЧ реализован функционал escrow, или попросту говоря "безопасных сделок с участием агента, некого доверенного третьего лица". А вот для интерфейса для него не реализовано. Теперь этот интерфейс есть!
Встречайте - https://golos-escrow.github.io/
Для чего это нужно?
Допустим. Хотите вы что-то купить. Или, допустим, обменять, да пусть те же токены. Как это должно произойти? Если вы переведете продавцу деньги авансом, то он может кинуть и не продавать товар. Если вы потребуете сначала предоставить товар -- то уже вы в глазах продавца становитесь потенциальным кидалой, который товар возьмет, а деньги оставит себе.
Другое дело, если вы внесете предоплату; но исполнитель не получит ее сразу, а должен будет, передав вам товар, показать этот факт - Агенту, и лишь после подтверждения от Агента - получить деньги. В то же время и если сам покупатель - мошенник, то он не сможет никак вернуть себе эти деньги: агент сам переведет их продавцу, раз товар передан.
Если это и не товар, а оказание какой-то услуги, то исполнитель, кроме прочего, может найти 100 и 1 повод выклянчить какие-то деньги до того, как эта услуга будет оказана. Требовать железного соблюдения договора - крайность, всякое же может случиться, давать мелким неприятностям пустить всё коту под хвост 🐈 - глупо. Но определить, где стоит идти на поводу, а где нет, порой нелегко без третьего, экспертного мнения.
А это, опять же, он - Агент. Да, он может выводить исполнителю небольшие суммы из всей внесенной вами оплаты, именно в таких случаях. А может и не выводить :)
Создание Escrow
Откроем страничку сервиса и нажмем кнопку "Создать Escrow". Здесь вам нужно указать: кто вы, кому переводить сумму, кто будет Агентом, сколько составляет эта сумма и в каком токене она (поддерживаются GOLOS и GBG).
Также, указать Срок на одобрение и Срок на вывод средств.
Срок на одобрение - это, по сути, дедлайн выполнения работы или предоставления услуги. Если за это время не была сдана работа и одобрена, то всё отменяется и средства возвращаются вам.
Срок на вывод средств - это по сути Срок на открытие спора (после того, как агент одобрил). О том, что такое Спор, будет ниже.
Одобрение
Итак, вы создали Escrow. При создании ему был присвоен номер, который вы должны сохранить, чтобы в дальнейшем проверять статус и иметь доступ к Escrow.
Также, вы должны передать этот код Исполнителю и Агенту.
Открыть Escrow любой из вас трех теперь может таким образом. Заходим на главную - https://golos-escrow.github.io - вводим имя отправителя и номер escrow. И видим примерно такую картину:
Здесь сначала Исполнитель должен одобрить Escrow (или отменить, если не согласен с условиями), затем - после передачи товара \ сделанной работы - Агент должен либо одобрить Escrow, либо отменить.
После одобрения обеими сторонами -- Escrow становится Одобренной
Одобренная Escrow
Она выглядит так:
На этом этапе Заказчик может передать средства Исполнителю. Также, это может сделать Агент.
А если пройдет Срок на вывод средств - то и сам Исполнитель сможет вывести себе средства.
Но Заказчик на этом этапе может и еще кое-что...
Открыть Спор
Если Escrow одобрена Агентом, но заказчику это не понравилось, то он может оспорить решение Агента. И тогда ситуация немного меняется: теперь вывод средств возможен только Агентом (если он все равно продолжит гнуть свою линию).
И на открытие спора у вас, Заказчика, есть достаточно времени. Это можно видеть из того, что написано выше. Если, конечно, Агент просто "сомнительно одобрил" Escrow, а не вывел сразу же все средства - Исполнителю. Но таких Агентов мы сразу погоним в шею :)
После того, как был открыт спор, его уже нельзя закрыть. Да и БЧ всегда будет помнить, что спор открывался.
А... кто такой этот Агент?
И зачем ему это надо - контролировать чью-то работу?
Самый главный, наверное, вопрос. Очевидно, что не подойдет ни друг заказчика, ни друг исполнителя - потому что к нему не будет траста у другой стороны.
Это должен быть независимый человек.
Поскольку БЧ пока мало похож на торговую площадку или иное пространство для бизнеса - то этим человеком может стать какой-то энтузиаст, один из делегатов (а надеюсь, что и не один).
Но в то же время, и не голым энтузиазмом единым -- Отправитель вправе предложить Агенту - комиссию как оплату за этот контроль.
И эта комиссия может либо диктоваться правилами данного Агента, либо оставаться на усмотрение самого Отправителя, а Агент уже решит, надо ему брать на себя такую ношу за 0.1 сатоши, или пусть платит нормально :)
По-моему, очень даже неплохо.
Исходный код, естественно, открытый (open-source), и находится здесь.
Что дальше
Если тема Escrow окажется интересной сама по себе, то можно внести ряд доработок, чтобы привести в соответствие пожеланиям, так сказать.
Главное, чего не хватает в текущей версии - это какой-то возможности в самих Escrow видеть, что это вообще за товар или услуга такая; и то, что система работает только с GOLOS и GBG, не поддерживая даже UIA и NFT из того же Golos, а ведь ей бы по-хорошему следовало интегрироваться и с другими БЧ...
А может быть, менять надо сам алгоритм Escrow. Это решать вам!...
Также, с интересом выслушаю ваши идеи 💡 -- а что еще стоило бы сделать для Golos.
Связаться со мной вы можете в комментариях к посту, в личных сообщениях, а при необходимости дам и другие контакты.
@bobik7, добавьте, пожалуйста спец тег #ideas.
@bobik7, 👍️
Буду рад видеть вас в делегатах Golos
@bobik7, Красавчик продолжай .. Донаты с нас и Лайки
@buildchain, спасибо) А как именно я должен продолжать Escrow?) Есть идеи7
Или пилить что-нибудь другое?
@bobik7, Пулы ликвидности - этого инструмента очень нехватает на нашей платформе !!
@docsait, А я смогу их сделать, ведь здесь нет смарт контрактов? И в чем разница между ними и просто маркетом?
@bobik7, Привет на Маркете могут отсутствовать в стакане ликвидность
В Пулах ликвидность корректируется и всегда есть на продажу сумма, все зависит от величины пула
Сейчас они сильно продвинулись - но есть и для графен пример
https://tribaldex.com/pools/positions
На блокчейне Hive
Внутри системы смар-контракт не нужен .. (есть ключи)
@bobik7, Ты будешь лучшим - Если сделаешь пулы ликвидности !!
@bobik7, ...думаю, идея хорошая, надо только чтобы наши "светила" ее проверили и дали добро на использование...
@smotritelmayaka, хм. Исходный код - здесь. Добавил ссылку в пост.
Но естественно уверенными в безопасности можно быть только в случае, если сами соберете этот код и сами поднимите сервис. Иначе много неопределенностей.
Сообщество Голос приветствует тебя, новый пользователь!
Здорово, что ты с нами! Если понадобится помощь или возникнут вопросы — пиши в чат или группу в Телеграм. Наиболее популярные сервисы, игры и боты, которые могут оказаться полезными для взаимодействия с блокчейном Голос.
Советуем почитать ответы на популярные вопросы и информацию в базе знаний wiki.golos.id.
Желаем удачи на проекте и реализации всех планов!