--- title: 'Defi Board <> EDA Wallet 接入流程' --- Defi Board <> EDA Wallet 接入流程 === ## 目录 [TOC] ## Defi Board 收益产品种类 ### 浮动收益产品 用户随时可以投资和赎回,利率根据市场随时浮动。 产品阶段: * 用户投资 T+1 后开始计息 * 用户赎回 T+1 后放款 ### 固定收益产品 产品利率根据市场确定,但是一旦产品开始则利率固定。产品可接受的总资金有金额限制。用户资金有锁定期。 产品阶段包括: * 投资阶段:在此阶段接受投资人存款,存款的金额有最低和最高限制 * 封闭阶段:产品不可投资和赎回,计息开始 * 赎回阶段:封闭期结束后,产品开放供用户自己赎回本金和利息 ## Defi Board 主要功能 ### DFB 产品查询 EDA Wallet 查询 DFB 所有支持的投资产品信息,包括产品收益率,锁定周期,可购买金额,总投资金额等信息。 ```sequence EDA Wallet->DFB: 发起查询请求 DFB-->EDA Wallet: 返回 DFB 所有投资产品 Note left of EDA Wallet: 记录用户投资信息\n生成 Tx ID ``` ### 用户资产查询 EDA Wallet 通过 User ID 查询该用户所有投资资产净值,收益,投资历史等信息。 ```sequence EDA Wallet->DFB: 发起查询请求 DFB-->EDA Wallet: 返回该用户所有投资产品 ``` ### 充值 用户在 EDA Wallet(EDA)充值,然后由 EDA 服务器向 Defi Board(DFB)服务器发起充值请求,传入用户 ID ,投资产品 ID,投资金额。DFB 返回交易号 Tx ID。 ```sequence EDA Wallet->DFB: 发起充值请求 Note right of DFB: 记录用户投资信息\n生成 Tx ID DFB-->EDA Wallet: 返回 Tx ID Note left of EDA Wallet: 记录 Tx ID ``` #### 充值结算流程 - 每天下午3点,DFB 统计当日3点前所有用户转入的 EDA 总金额数,生成统计表格(包括所有 Tx ID 及对应的金额)发送给 EDA Wallet。 - EDA Wallet 确认无误(与自己系统记录的所有 Tx ID 相同且完整;每个 Tx ID 资金数量一致);然后在下午5点前,将相应的数字货币 DAI 转入指定账户。 - Defi Board 收到 DAI 后,投入相应数字产品。 ### 取现 用户在 EDA Wallet 发起取现;然后由 EDA 服务器向 Defi Board(DFB)服务器发起取现请求,传入用户 ID 及取现金额。DFB 返回交易号 Tx ID。 ```sequence EDA Wallet->DFB: 发起取现请求 Note right of DFB: 记录用户取现信息\n生成 Tx ID DFB-->EDA Wallet: 返回 Tx ID Note left of EDA Wallet: 记录 Tx ID ``` #### 取现结算流程 - 每天下午3点,DFB 统计当日3点前所有用户转出的 EDA 总金额数,生成统计表格发送给 EDA Wallet。 - 在下午5点前,EDA Wallet 确认无误(与自己系统记录的所有 Tx ID 相同且完整;每个 Tx ID 资金数量一致)并确认。 - DFB 收到确认后,将相应金额的数字货币 DAI 从产品中取出,然后转入 EDA Wallet 指定的账户。 ## DFB 接口 ### 服务器地址 #### 测试服务器 test.eda.defiboard.io:8080 #### 正式服务器 ### 登录 接口:/api/login 请求方式:POST 请求参数: - clientId:产品ID (测试产品ID:test) - clientSecret:密码,需要传md5后的值 (测试密码:123456) 成功返回: ```javascript { code: 0 data: "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VySWQiOiI1ZDdmODU5YWU5ZmMxYjBkZWY2MzhjM2MiLCJpYXQiOjE1Njg2OTMyNTksImV4cCI6MTU2ODY5Njg1OX0.C08COPIIc1zsSEq_F7C1APp3q1uihDzcCWtd5zeqa6o" //token msg: "请求成功" } ``` #### 后面的请求需要在请求header设置Authorization的值为 #### 'Bearer {login请求返回的data值}' ### 获取所有产品信息 接口:/api/products 请求方式:GET 成功返回: ```javascript { code: 0 data: count: 1 list: [ asset: "DAI" // 投资数字代币的名称 assetIcon: "/public/tokenIcon/dai.svg" // 代币图标 createdAt: "2019-09-20T00:00:00.944Z" curSupply: 400 // 已购买数量 exchangeRate: 1.199778598571667 // 份额汇率 lockEnd: "2019-09-20T07:40:00.000Z" //锁定结束时间 lockStart: "2019-09-20T04:20:00.000Z" // 锁定开始时间 maxAmount: 1000 //用户购买最大金额 minAmount: 1 //用户购买最小金额 name: "DefiBoard DAI 固定期限 测试" // 产品名称 presaleEnd: "2019-09-20T04:10:00.000Z" // 预售结束时间 presaleStart: "2019-09-20T03:30:00.000Z" // 预售开始时间 status: 4 //0初始化 1预售期 2审核 3锁定期 4已结束 supplyLimit: 10000 // 最大购买数量 supplyRate: 10 // 预计收益率 (年化,百分比) totalShare: 400.2829245447642 // 所有份额 type: "regular" //产品类型 定期regular 活期 current updateAt: "2019-09-20T09:52:00.015Z" _id: "5d844346e9fc1b08ee7f74f5" ] msg: "请求成功" } ``` ### 获取单个产品信息 接口:/api/products/:id 请求方式:GET 成功返回: ```javascript { code: 0 data: { asset: "DAI" assetIcon: "/public/tokenIcon/dai.svg" createdAt: "2019-09-20T00:00:00.944Z" curSupply: 400 exchangeRate: 2.199778598571667 lockEnd: "2019-09-20T07:40:00.000Z" lockStart: "2019-09-20T04:20:00.000Z" maxAmount: 1000 minAmount: 1 name: "DefiBoard DAI 固定期限 测试" presaleEnd: "2019-09-20T04:10:00.000Z" presaleStart: "2019-09-20T03:30:00.000Z" status: 4 supplyLimit: 10000 supplyRate: 10 totalShare: 400.2829245447642 type: "regular" updateAt: "2019-09-20T09:52:00.015Z" _id: "5d844346e9fc1b08ee7f74f5" } msg: "请求成功" } ``` ### 创建订单 接口:/api/trades 请求方式:POST 请求参数: - customerId:用户ID - productId:产品ID - amount:金额 - tradeType:交易类型(0 - 充值 1 - 提现) 成功返回: ```javascript { "code": 0 "data": { txId: "156869420124537" } "msg": "请求成功" } ``` ### 查询用户订单 接口:/api/trades?customerId= 请求方式:GET 成功返回: ```javascript { "code": 0 "data": { list: [ amount: 100 asset: "DAI" createdAt: "2019-09-16T03:53:53.908Z" product: "5d79b7bce9fc1b0bf5e08776" status: 0 // 订单状态 0 初始化 1审核成功 2审核失败 3已支付 4订单不存在或已删除 tradeType: 0 //"交易类型。0 - 充值; 1 - 提现" txId: "156860603390591" customerId: "10001" __v: 0 _id: "5d7f0751a377001731dbbd46" ] } "msg": "请求成功" } ``` ### 查询单个订单 接口:/api/trades/:id 请求方式:GET ### 查询用户投资信息 接口:/api/assets?customerId= 请求方式:GET 成功返回: ```javascript { "code": 0 "data": { list: [ balance: 0 // 当前余额(包含收益) createdAt: "2019-09-20T04:22:00.355Z" duration: 0.1007005787037037 //投资时长(天) earning24hr: 0 // 平均24小时收益 id: "5d8453e873d1d018075eb0b9" principle: 0 // 投资本金 product: {supplyLimit: 10000, curSupply: 400, totalShare: 400.2829245447642, exchangeRate: 2.199778598571667,…} totalEarning: 0 // 总收益 updateAt: "2019-09-20T07:38:00.065Z" customerId: "10001" ] } "msg": "请求成功" } ``` ### 查询单个投资信息 接口:/api/assets/:id 请求方式:GET ## 测试流程 ### 产品状态 #### 未固定期限产品current * product status 0 初始状态 不能创建订单 * product status 3 运行状态 不限制 * product status 4 结束状态 只能创建提现订单 每天人工审核订单状态 把审核通过的订单总金额投资到产品中 运行脚本处理审核通过订单 #### 固定期限产品regular * product status 0 初始状态 不能创建订单 * product status 1 预售期 不限制 * product status 2 审核期 不能创建订单 人工审核订单状态 把审核通过的订单总金额投资到产品中 * product status 3 锁定期 可以提前退出,拿回本金(提现订单) * product status 4 结束状态 只能创建提现订单 产品状态3,4的情况下: 每天人工审核订单状态 把审核通过的订单总金额投资到产品中 运行脚本处理审核通过订单 ###### tags: `DeFi` `Defi Board` `EDA Wallet`
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up