自己部署DEX+liquidity+yield aggregator收益聚合器

这篇文章尚需完善,仅作记录使用
以pancakeswap+pancakebunny为例


文章目录

  • 自己部署DEX+liquidity+yield aggregator收益聚合器
  • 前言
  • 一、pancakeswap核心交易功能部署
  • 二、pancakeswap的liquidity功能部署
    • 1、部署cake与syrup
    • 2、部署masterchef
    • 3、所有权设置
    • 4、前端修改
    • 5、multicall
    • 6、前端修改
    • 7、注意:
  • 三、pancakebunny收益聚合器部署
    • 1、Bunny:
    • 2、Bunny-b*b:
    • 3、ZAPBSC:
    • 4、PRICECALCULATOR:
    • 5、Timelock:
    • 6、StrategyheLPERV1:
    • 7、BUNNYPOOL:
    • 8、MINTER:
    • 9、bunneyChef:
    • 10、VaultController
    • 11、Vaultfliptoflip:
  • 四、pancakeBunny使用指导

前言

在参考这篇文章学会部署uniswap后,为了后续进行科研,还要在想办法部署自己的收益聚合器


一、pancakeswap核心交易功能部署

这篇文章已经讲的非常清楚了

唯独可以需要注意的一点就是,pair合约不一定需要去进行字节码哈希拿init_code_pair_hash,也可以在部署后的facotry合约里面的INIT_CODE_PAIR_HASH看到
部署factory后可以查看

二、pancakeswap的liquidity功能部署

部署pancakeFarm:

1、部署cake与syrup

合约:caketoken部署,syruptoken部署
前端:修改项目内token地址:src/config/constants/tokens.ts(包括cake,syrup,wbb(注意wbb最好用官方的测试链/主网地址),下面有测试链的)

2、部署masterchef

合约:Masterchef合约部署,注意cakeperblock别太大,添加liquidity(如cake-b*b),然后添加一个pid到masterchef里

3、所有权设置

合约:设置caketoken和syruptoken的所有权到masterchef

4、前端修改

前端:修改masterchef项目内的地址:src/config/constants/contracts.ts

5、multicall

合约:Multicall部署(从主网查合约源代码)
前端:修改Multicall项目内的地址:src/config/constants/Multicall.ts

6、前端修改

前端:Pid的修改:src/config/constants/farm.ts,第一个一定是cake不要动,在部署masterchef的时候也已经设置好了,可以从masterchef的poolinfo函数中查看到,它的pid设置为0,后面我们从1开始设置起,如把1对应到CAKE-B*B LP,当前前提是你要在liquidity pool添加后把lp的地址拿到

前端:Pid的修改:callhelp:135,修改cakeb*b的id为1(我们在上一步已经设置为1)

前端:pid的修改:src/state/hook.ts:334

7、注意:

关于pid的修改,注意顺序和注释

Enterstaking()这个是专门用来进行单币质押的(应该)

注意不要担心是否没有wbb的,不要担心是否要先用bb换wb*b

在pancakeswap中已经有了一步1:1,将手里的bb也就是weth9,兑换为WBB,然后再兑换成第三方token

而兑换回来的话也是将第三方token兑换回b*b

也就是说我的lp是第三方token-wb*b

当然,以上选择是在第三方token-bb兑换过程中,如果你想单独的兑换成wbb也可以

三、pancakebunny收益聚合器部署

依赖架构图:

PancakeBunny部署顺序:每一个都是一个合约

1、Bunny:

可以先mint一下(1000个就行),用来添加bunny-b*b

2、Bunny-b*b:

3、ZAPBSC:

CONSTANT VARIABLES下修改cake,bunny,wb*b,busd,修改router
【initialize()】

4、PRICECALCULATOR:

【initialize()】
【创建 bunny-bb 创建cake-bb】

5、Timelock:

【Admin:我的地址;delay:86400(根据官方合约)】
查看timelock发现了一个transaction延时/定时执行机制
这样机制将tx的call数据保存在合约中,由外部大量用户的调用/使用合约功能作为触发支撑

6、StrategyheLPERV1:

这里的CAKEPOOL就是CAKE-B*B的地址

7、BUNNYPOOL:

更改28行bunny地址,更改61行startegyhelper地址
(44行presaleContract没有改,而是修改了95为:
uint soldInPresale = 10001e18;
//uint soldInPresale = IPresale(presaleContract).totalBalance().div(2).mul(3); // mint 150% of presale for making flip token
【setRewardToken:bunny-b
b】

8、MINTER:

Deployer写自己,其他按照上面的地址更新
【Initialize()】
【bunnypool:setReawrdsDistribution:MINTER】
【bunny:transferOwnership->minter】

9、bunneyChef:

【Initialize()-》bunnyperblock:500000000000000000 0.5bunny,按官网上的;startblock:5585350,按官网上】
【Setminter:MINTER】
【MINTER:setBunnyChef:bunneyChef】

10、VaultController

修改bunny地址

11、Vaultfliptoflip:

找到想要收益聚合的pid-》initialize(),如cake-b*b是1
【SetbunnyChef:bunneyChef】
【SetKeeper:我的地址】
【SetMinter:MINTER】
【MINTER:setMinter:Vaultfliptoflip】

【BunnyPool:setstakepermission:MINTER,true 以及 Vaultfliptoflip,true】

四、pancakeBunny使用指导

怎么使用?
1、首先要进行授权,即cake-b*b给vaultfliptoflip的授权

2、然后选择非keeper用户(即非管理员用户(建议),避免混乱)添加liquidity,获得lp,然后deposit函数调用

3、此时调用vaultfliptoflip会发现earned为0,其关键原因在于,valutfliptoflip合约想要给你发奖励,必须要知道收集来的lp确实获得了cake

4、如何让它知道获得cake?让管理员用户,即keeper调用harvest函数(实际上查看官网合约也会发现有一个固定账户会不断的调用harvest函数,当然这个过程实际上可以通过外部调用自动化的来执行,这里是手动的)
5、调用harvest函数过后,flip合约就知道了这些LP确实获得了受益了,此时earned函数就会正确的计算出来收益,普通用户就可以调用getreward函数进行收益了

自己部署DEX+流动性收益+收益聚合器相关推荐

  1. 从挖矿、分叉到聚合器,一文了解DeFi演化史

    来源:蓝狐笔记 DeFi经过两年多的蛰伏,在2020年夏天爆发.从6月中旬到现在,仅仅过了三个月的时间,各种密集的演化让人眼花缭乱目不暇接.这是迄今为止加密史上创新最密集的阶段. 挖矿 *在DeFi领 ...

  2. 基于BSC测试网收益聚合器Beefy协议的编译、测试、部署

    前言 文章主要介绍了收益聚合器Beefy协议在币安智能链测试网网上的编译测试部署流程,以Pancake上的USDC-BUSD最新Curve版流动池的农场质押为例,详细介绍了完整的操作流程. 准备工作 ...

  3. DailyFi - 9.17|Solana 去中心化收益聚合器 Francium 和 Solana 钱包 Slope 正式合作

    · Uniswap V3 24h 交易量:$1.15bn (+1.53%) · Coinbase 24h 交易量:$3.88bn (-8.51%) · FTX 衍生品 24h 交易量:$11.14bn ...

  4. DeFi收益聚合器PancakeBunny称已经完成对polyBUNNY和pBUNNY持有者的MND代币分配

    官方消息,DeFi收益聚合器PancakeBunny表示,团队已经完成了对polyBUNNY和pBUNNY持有者的MND代币分配.总共约240万美元或74,501 MND已分配给攻击前持有polyBU ...

  5. Solana生态项目DEX聚合器Dagg trade完成种子轮融资,credence.fund投资

    Solana生态项目DEX聚合器Dagg trade完成种子轮融资,投资方为credence.fund. 据介绍,Dagg trade旨在成为Solana生态的交易门户,将在Solana上实现多个DE ...

  6. OpenOcean 是世界上第一个领先的完整聚合器

    ,它提供了加密交易的入口,并汇集了来自 DeFi 和 CeFi 的流动性. 我们的愿景是建立一个完整的加密交易聚合器,作为连接 DeFi 和 CeFi 孤岛的桥梁,我们致力于构建一个对当前碎片化市场中 ...

  7. 冉冉升起的DeFi聚合器

    冉冉升起的DeFi聚合器 Furucombo是什么? Furucombo从一个为终端用户创建的工具开始,通过简单的拖放来优化他们的DeFi策略,现在它是一个DeFi门户,帮助用户优化加密财富. Fur ...

  8. PHP rss聚合,利用PHP和AJAX创建RSS聚合器

    下载本文示例代码 想象使用一个简单HTML文件来把一个请求发送到一个服务器端脚本,收到一个基于该请求的定制XML文件,然后把它显示给用户而几乎不需要刷新浏览器!本文作者将同你一起探讨怎样在普通Web应 ...

  9. 5G来了4G降速?负载均衡链路聚合器了解一下

    本文通过一种全新的简单粗暴易懂的方式(可以在这里断句)带你分析一个电子产品的需求--负载均衡链路聚合器!5G来了,还在用4G网络的你,是否感觉到网速变慢,延迟变长呢?说好的提速降费呢?降费我们感受到了 ...

最新文章

  1. python使用matplotlib可视化、使用matplotlib可视化scipy.misc图像、自定义使用winter色彩映射、将不同亮度映射到不同的色彩
  2. 表征学习、图神经网络、可解释的 AI,ML 机器人七大研究进展一览
  3. ESXi上的固态硬盘识别为非SSD
  4. “女性机器人”火了,称其只有富人买得起,男性用户表示很满意
  5. Java并发编程75道面试题及答案
  6. LOWORD或HIWORD宏得到的是一个无符号WORD类型的数
  7. BLE 绑定流程(转自襄坤在线)
  8. 工业以太网交换机:核心优点解析
  9. 无公网ip远程访问调试-内网穿透工具
  10. 为什么我爱Xonsh
  11. [Ext JS 7]ClassRequire错误解决
  12. 软件模拟PWM——呼吸灯小程序的理解
  13. asp.net c# 常见面试试题总结汇总(含答案)
  14. 内存映射之fixmap(early_fixmap_init)
  15. 【从零开始学架构-李运华】09|架构设计原则案例
  16. win10内置ubuntu, 启动时提示“指定的网络名不再可用”无法启动解决办法
  17. C系新版凯立德推荐版本G1036
  18. BCB:内存泄漏检查工具CodeGuard
  19. 笔记本电脑wifi怎么连接
  20. C++语法整理(From GitHub)

热门文章

  1. STM32F103-FATFS 文件系统移植
  2. Word插入表格相邻单元格边框断开方法
  3. window下搭建qnx编译环境
  4. 科东软件荣获“CMCD 2022年度运动控制领域最具投资价值企业”称号
  5. paypal braintree支付对接
  6. 案例一:欧洲城市人口
  7. 11月8日 O2O众包配送平台技术分享,java、python、ios也可现场应聘
  8. 鸿蒙harmonyOS打印Log日志工具类+看不到Log日志的问题
  9. 树莓派 4b 组建数据中心(3)挂载移动硬盘/搭建下载机
  10. Pytorch搭建网络训练葡萄酒分类数据集(三分类)