You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Drop farm is a mechanic for distributing tokens as a reward for a stake. In general there are two tokens involved: token distributed as rewards and token to be staked to pretend for rewards. In a particular case both functions can be fulfilled by the same asset. There is one creator of a farm. Creator determines assets involved in a farm and deposits full amount of tokens for distribution. There are multiple stakers (farmers). Each farmer can stake arbitrary amount of staked token. Drop farms are interacted with by calling corresponding smart contracts.
Asset Management
To manage assets, the user must send a transaction with the necessary parameters to genesis address.
Create a drop farm (farm_create)
Parameters:
stake_token — hash of a token that should be staked for incoming rewards;
reward_token — hash of a token to be distributed as a reward;
block_reward — amount of a reward token distributed each block (entered as integer units: human-readable amount multiplied by decimals power of ten);
emission — amount of a reward token to be distributed during the hole drop farm lifetime which is not less than (emission/block_reward) blocks. "Not less" covers no rewards in case of no stake at the drop farm.
Transaction with a farm_create call to be rejected if:
sender has stake_token balance less than emission parameter.
Stake (farm_increase_stake)
Parameters:
farm_id — hash of a transaction with the create_farm contract call;
amount — amount of a stake token to be locked from the sender balance as a drop farm stake (entered as integer units: human-readable amount multiplied by decimals power of ten);
Transaction with a farm_increase_stake call to be rejected if:
the sender has stake_token balance less than the amount parameter;
no farm with the farm_id specified.
Unstake (farm_decrease_stake)
Parameters:
farm_id — hash of a transaction with the create_farm contract call;
amount — amount of a stake token to be unlocked from the sender farm stake balance (entered as integer units: human-readable amount multiplied by decimals power of ten);
Transaction with a farm_decrease_stake call to be rejected if:
no farm with the farm_id specified;
the sender has stake_token staked amount at the farm less than the amount parameter.
Unstake and receive rewards (farm_close_stake)
Parameters:
farm_id — hash of a transaction with the create_farm contract call.
Transaction with a farm_close_stake call to be rejected if:
no farm with the farm_id specified.
Harvest reward (farm_get_reward)
Parameters:
farm_id — hash of a transaction with the create_farm contract call.
Transaction with a farm_get_reward call to be rejected if:
no farm with the farm_id specified.
The text was updated successfully, but these errors were encountered:
On drop farms
Metadata
Summary
The document describes drop farms functioning.
Key Points
Drop farm is a mechanic for distributing tokens as a reward for a stake. In general there are two tokens involved: token distributed as rewards and token to be staked to pretend for rewards. In a particular case both functions can be fulfilled by the same asset. There is one creator of a farm. Creator determines assets involved in a farm and deposits full amount of tokens for distribution. There are multiple stakers (farmers). Each farmer can stake arbitrary amount of staked token. Drop farms are interacted with by calling corresponding smart contracts.
Asset Management
To manage assets, the user must send a transaction with the necessary parameters to genesis address.
Create a drop farm (farm_create)
Parameters:
Transaction with a farm_create call to be rejected if:
Stake (farm_increase_stake)
Parameters:
Transaction with a farm_increase_stake call to be rejected if:
Unstake (farm_decrease_stake)
Parameters:
Transaction with a farm_decrease_stake call to be rejected if:
Unstake and receive rewards (farm_close_stake)
Parameters:
Transaction with a farm_close_stake call to be rejected if:
Harvest reward (farm_get_reward)
Parameters:
Transaction with a farm_get_reward call to be rejected if:
The text was updated successfully, but these errors were encountered: