# if needed, register user to the farmingnearcall $FARMING storage_deposit'{"account_id": "u1.testnet", "registration_only": true}'--account_id=u1.testnet--amount=1# if needed, register farming contract to seed tokennearcall $EX mft_register"{\"token_id\":\"31\", \"account_id\": \"$FARMING\"}"--account_id=u1.testnet--amount=0.01# stakingnearcall $EX mft_transfer_call"{\"receiver_id\": \"$FARMING\", \"token_id\":\"31\", \"amount\": \"1000000000000000000000000\", \"msg\": \"\"}"--account_id=u1.testnet--amount=0.000000000000000000000001# unstakingnearcall $FARMING withdraw_seed"{\"seed_id\": \"$EX@31\", \"amount\": \"1000000000000000000000000\"}"--account_id=u1.testnet--amount=0.000000000000000000000001
claim reward
# you can claim reward per farmnearcall $FARMING claim_reward_by_farm"{\"farm_id\": \"$EX@0#1\"}"--account_id=u1.testnet--amount=0.000000000000000000000001# or you can claim reward per seed (kind of batch claim)nearcall $FARMING claim_reward_by_seed"{\"seed_id\": \"$EX@0\"}"--account_id=u1.testnet--amount=0.000000000000000000000001
withdraw reward token
# amount set to 0 means withdraw all balancenearcall $FARMING withdraw_reward"{\"token_id\": \"$TOKEN\", \"amount\": \"0\"}"--account_id=u1.testnet--amount=0.000000000000000000000001
create farm
To create a farm, you need prepare farming terms.
nearcall $FARMING create_simple_farm"{\"terms\": {\"seed_id\": \"$EX@31\", \"reward_token\": \"$TOKEN\", \"start_at\": 0, \"reward_per_session\": \"10000000000000000000\", \"session_interval\": 3600}}\" --account_id=pika456.testnet --amount 0.01# this will return a farm id like ref-finance.testnet@31#0
At this point, this is a farm with no reward deposited, farm status is Created.
To activate a farm, deposit some reward token into the farm with ft_transfer_call.
# if needed, register farming contract to reward tokennearcall $TOKEN storage_deposit"{\"account_id\": \"$FARMING\"}"--account_id=pika456.testnet--amount0.00125# deposit reward token into the farmnearcall $TOKEN ft_transfer_call"{\"receiver_id\": \"$FARMING\", \"amount\": \"2400000000000000000000\", \"msg\": \"$EX@31#0\"}"--account_id=$REF_OWNER--amount=0.000000000000000000000001--gas=100000000000000
Note: Only owner of this contract can create farms.