---
# System prepended metadata

title: WHOOK Staking合约说明

---

# WHOOK Staking合约说明
## 1. 主要写方法说明
### createProject
* 说明：创建一个锁仓项目
* 参数：锁仓时间(秒)，锁仓APR（设置30表示APR为30%)，手续费（百分数）
* 返回值：项目索引，质押凭证合约

### setProject
* 说明：设置和修改质押项目
* 参数：项目索引，开始时间，结束时间，锁仓时间，手续费

### setProjectRate
* 说明：设置和修改某个时间起点开始的费率，
* 参数：项目索引，新利率起点时间，新利率

### setStaking
* 说明：设置奖励代币和质押代币
* 参数：质押代币，奖励代币

### userClaim
* 说明：领取用户的挖矿收益
* 参数：项目索引，提取数量

### userStak
* 说明：Stake，参与挖矿
* 参数：项目索引，提取数量

### userUnstak
* 说明：提取用户本金及利息，unlock
* 参数：项目索引

## 2. 主要查询方法说明

### getApr
* 说明：查询利率（百分数，返回30表示利率为30%）
* 参数：项目索引

### userStakInfo
* 说明：查询用户质押信息
* 参数：用户地址，项目索引
* 返回值：质押开始时间，质押结束时间，质押数量，待领取奖励数量

### getProjects
* 说明：查询项目数
* 参数：无

### getProjectStatus
* 说明：获取项目的开始时间和结束时间
* 参数：项目索引

### getProjectInfo
* 说明：获取项目信息
* 参数：项目索引
* 返回值：锁仓时间，手续费，质押总数，已领取总奖励，质押代币合约，费率配置数量

### getProjectRate
说明：获取项目中某个费率配置的信息
参数：项目索引，费率索引
返回值：开始时间，费率，此配置的APR

## 3.合约部署说明
1.	设置质押代币和奖励代币 setStaking
2.	创建质押项目 createProject
3.	设置质押项目 的开始时间和结束时间、锁仓周期、手续费等 setProject
