Difference between revisions of "Stake service"

From wiki.cellframe.net
Jump to navigation Jump to search
(Новая страница: «'' Cellframe node >> Node_usage#.D0.A1.D0.B5.D1.80.D0.B2.D0.B8.D1.81_.D0.B4.D0.B5.D0.BB.D0.B5.D0.B3.D0.B8.D1.80.D0.BE.D0.B2.D0.B0.D0.BD.D0.BD.D0...»)
 
(No difference)

Latest revision as of 09:58, 29 July 2020

Cellframe node >> Сервис делегированного стейка >>

Сервис предоставляет возможность залога (делегации) заранее оговоренной суммы (стейка) токенов на адрес кошелька, приватным ключом которого будут подписаны дальнейшие события в системе. Со всех таких событий, содержащих транзакции, автоматически снимается комиссия, и отправляется на адрес, указанный делегатором. Делегатор имеет возможность в любое время вернуть залог себе. Другие операции с залогом не предусмотрены.

Создание ордера

Во избежание злонамеренных действий, запрос на получение стейка создаёт владелец сертификата, ключ которого в дальнейшем будет служить маркером для отчисления комиссии. Запрос создаётся в виде ордера, подписанного тем же ключом. Адрес делегатора в текущей реализации должен быть прописан в том же ордере (хотя в теории залог можно принять с любого адреса, и возможно, это параметр в дальнейшем будет отброшен)

./cellframe-node-cli srv_stake order create -net <net name> -from_addr <addr> -token <ticker> -coins <value> -cert <name> -fee_percent <value>

Пример

./cellframe-node-cli srv_stake order create -net kelvin-testnet -from_addr RpiDC8c1T1Phj39naR4zcYha1YcNXoF2c8ycwP3RCykQvBh8GAZEhqRbbLMwznLrphmFj5K8Q6WGZfKjmV4SvwyyGuJKAmUMZeownn2q
 -token KELT -coins 10000 -cert stake_cert -fee_percent 10.0
Successfully created order 0x4D70ADF579ECAA12D55596FFE997BCB6C72F3ADE75FA3C534AB092C6CC43D008

Удаление ордера

Создатель ордера может его удалить, если запрос на стейк перестал быть актуальным

./cellframe-node-cli srv_stake order remove -net <net name> -order <order hash>

Пример

./cellframe-node-cli srv_stake order remove -net kelvin-testnet -order 0x4D70ADF579ECAA12D55596FFE997BCB6C72F3ADE75FA3C534AB092C6CC43D008
Stake order successfully removed

Изменение ордера

Созданный ранее ордер может быть в любой момент времени изменён.

./cellframe-node-cli srv_stake order update -net <net name> -order <order hash> -cert <name> {-from_addr <addr> | -token <ticker> -coins <value> | -fee_percent <value>}

Пример

./cellframe-node-cli srv_stake order update -net kelvin-testnet -order 0x4D70ADF579ECAA12D55596FFE997BCB6C72F3ADE75FA3C534AB092C6CC43D008 -cert stake_cert -fee_percent 5.0
Successfully created order 0x6F3C6830ED87D5DAC5ADC1002F8B01617CB39748051947B85231534AC8773559

Спсиок ордеров сервиса

В любое время можно посмотреть список ордеров с запросами на получение стейка.

./cellframe-node-cli srv_stake order list -net <net name>

Пример

./cellframe-node-cli srv_stake order list -net kelvin-testnet
0x6F3C6830ED87D5DAC5ADC1002F8B01617CB39748051947B85231534AC8773559

Делегация стейка

Для делегации средств они должны присутствовать на балансе кошелька делегатора. Так же должен быть заранее создан ордер с параметрами делегации. Делегации происходит в виде условной транзакции, выход которой не может быть использован никем, кроме владельца средств. Как и в других условных транзакциях, баланс кошелька подписанта транзакции уменьшается на сумму стейка, при этом списанные средства не отражаются ни на каком другом балансе. Они, как бы "подвисают в пустоте". Средства появятся на балансе только после "замыкания" условной транзакции, то есть при появлении транзакции с обычным выходом и входом, выполняющим условие.

./cellframe-node-cli srv_stake delegate -order <order hash> -net <net name> -wallet <wallet_name> -fee_addr <addr>

Пример

./cellframe-node-cli srv_stake delegate -order 0x6F3C6830ED87D5DAC5ADC1002F8B01617CB39748051947B85231534AC8773559 -net kelvin-testnet -wallet mywallet -fee_addr RpiDC8c1T1Phj39nZHW7cLEbgJX7zz2DEdLt3rR9LgDHL8r7dc3UWVDUYxCSta6zsLm9xzeKcBEe4vrDZehrgPB469bJcugbt5C5o8qK
Stake transaction has done

Просмотр активных транзакций стейка

В любой момент можно посмотреть список активных условных транзакций делегации, с их параметрами.

./cellframe-node-cli srv_stake transactions -net <net name> {-addr <addr from>} 

Пример

./cellframe-node-cli srv_stake transactions -net kelvin-testnet
0xF1BB196E9F83F605000872E55D5ED1149C471312319E31B74F9BBF67258187E2 KELT 10000 RpiDC8c1T1Phj39naR4zcYha1YcNXoF2c8ycwP3RCykQvBh8GAZEhqRbbLMwznLrphmFj5K8Q6WGZfKjmV4SvwyyGuJKAmUMZeownn2q RpiDC8c1T1Phj39nb3TmvuAEpKhCGTvQoCGziQnLjZ5cNrNyqouv2PQouMjpasj7dwXavwzVB2cGiLzuNbA67o9kTEgG8Fc3T63oSU3P RpiDC8c1T1Phj39nZHW7cLEbgJX7zz2DEdLt3rR9LgDHL8r7dc3UWVDUYxCSta6zsLm9xzeKcBEe4vrDZehrgPB469bJcugbt5C5o8qK 5.0

Инвалидация стейка

В любой момент владелец стека может отменить условную транзакцию стейка и вернуть его себе.

./cellframe-node-cli srv_stake invalidate -net <net name> -tx <transaction hash> -wallet <wallet name>

Пример

./cellframe-node-cli srv_stake invalidate -net kelvin-testnet -tx 0xF1BB196E9F83F605000872E55D5ED1149C471312319E31B74F9BBF67258187E2 -wallet mywallet
Stake successfully returned to owner