denis-skripnik
5 лет назадИдея: golos.contracts, как замена или дополнение escrow
Здравствуйте. В БЧ Голос есть функция, которая позволяет производить переводы с гарантом.
Суть идеи Голос.Контрактов
ПеПереводы с гарантом и указанием операции, которую должен сделать пользователь, чтобы контракт выполнился. Гарантом в этом случае является Блокчейн.
Пример:
Покупаете вы апвот у какого-то пользователя. Переводите при помощи контрактов 50 GOLOS и указываете операцию vote. Пока пользователь её не выполнит, токены не получит.
Вариант для golos-js:
golos.broadcast.contract(wif, from, to, amount, memo, operation, options, timeout, function(err, result){console.log(err, result))};
ПОяснение:
- wif и from - активный ключ и логин пользователя, инициализирующего контракт;
- to - кому он адресован;
- amount и memo - сумма и заметка (как в transfer);
- operations - указываются тут операции. Пример:
[["vote",{"voter":"login1","author":"login2","permlink":"my-post","weight":10000}]]
Первые [] указывают на то, что операций может быть несколько. - options - это опции, которые позволяют сделать, например, возможным выполнение контракта частично.
Пример: {type: "indivisible"} укажет, что контракт неделимый (надо выполнить все условия). или: {type: "divisible", operation_field: "weight", field_type: "percent"}. Тут указано, что делим он, что делится по полю weight в операциях и что оно является процентом. И тогда если пользователь, выполняющий условия контракта апнет не на 100%, а на 50%, контракт выполнится, но на 50%. - timeout - время действия контракта в секундах (если время истечёт, а пользователь, к которому он адресован, не выполнит условия, токены возвратятся создавшему его). Это же позволит сделать срок, равный выплате поста, и тогда снятие апов будут означать возврат средств - эта проблема перестанет существовать.
Всё
Благодарю за внимание.