自己部署DEX+流动性收益+收益聚合器
自己部署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-bb】
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+流动性收益+收益聚合器相关推荐
- 从挖矿、分叉到聚合器,一文了解DeFi演化史
来源:蓝狐笔记 DeFi经过两年多的蛰伏,在2020年夏天爆发.从6月中旬到现在,仅仅过了三个月的时间,各种密集的演化让人眼花缭乱目不暇接.这是迄今为止加密史上创新最密集的阶段. 挖矿 *在DeFi领 ...
- 基于BSC测试网收益聚合器Beefy协议的编译、测试、部署
前言 文章主要介绍了收益聚合器Beefy协议在币安智能链测试网网上的编译测试部署流程,以Pancake上的USDC-BUSD最新Curve版流动池的农场质押为例,详细介绍了完整的操作流程. 准备工作 ...
- DailyFi - 9.17|Solana 去中心化收益聚合器 Francium 和 Solana 钱包 Slope 正式合作
· Uniswap V3 24h 交易量:$1.15bn (+1.53%) · Coinbase 24h 交易量:$3.88bn (-8.51%) · FTX 衍生品 24h 交易量:$11.14bn ...
- DeFi收益聚合器PancakeBunny称已经完成对polyBUNNY和pBUNNY持有者的MND代币分配
官方消息,DeFi收益聚合器PancakeBunny表示,团队已经完成了对polyBUNNY和pBUNNY持有者的MND代币分配.总共约240万美元或74,501 MND已分配给攻击前持有polyBU ...
- Solana生态项目DEX聚合器Dagg trade完成种子轮融资,credence.fund投资
Solana生态项目DEX聚合器Dagg trade完成种子轮融资,投资方为credence.fund. 据介绍,Dagg trade旨在成为Solana生态的交易门户,将在Solana上实现多个DE ...
- OpenOcean 是世界上第一个领先的完整聚合器
,它提供了加密交易的入口,并汇集了来自 DeFi 和 CeFi 的流动性. 我们的愿景是建立一个完整的加密交易聚合器,作为连接 DeFi 和 CeFi 孤岛的桥梁,我们致力于构建一个对当前碎片化市场中 ...
- 冉冉升起的DeFi聚合器
冉冉升起的DeFi聚合器 Furucombo是什么? Furucombo从一个为终端用户创建的工具开始,通过简单的拖放来优化他们的DeFi策略,现在它是一个DeFi门户,帮助用户优化加密财富. Fur ...
- PHP rss聚合,利用PHP和AJAX创建RSS聚合器
下载本文示例代码 想象使用一个简单HTML文件来把一个请求发送到一个服务器端脚本,收到一个基于该请求的定制XML文件,然后把它显示给用户而几乎不需要刷新浏览器!本文作者将同你一起探讨怎样在普通Web应 ...
- 5G来了4G降速?负载均衡链路聚合器了解一下
本文通过一种全新的简单粗暴易懂的方式(可以在这里断句)带你分析一个电子产品的需求--负载均衡链路聚合器!5G来了,还在用4G网络的你,是否感觉到网速变慢,延迟变长呢?说好的提速降费呢?降费我们感受到了 ...
最新文章
- python使用matplotlib可视化、使用matplotlib可视化scipy.misc图像、自定义使用winter色彩映射、将不同亮度映射到不同的色彩
- 表征学习、图神经网络、可解释的 AI,ML 机器人七大研究进展一览
- ESXi上的固态硬盘识别为非SSD
- “女性机器人”火了,称其只有富人买得起,男性用户表示很满意
- Java并发编程75道面试题及答案
- LOWORD或HIWORD宏得到的是一个无符号WORD类型的数
- BLE 绑定流程(转自襄坤在线)
- 工业以太网交换机:核心优点解析
- 无公网ip远程访问调试-内网穿透工具
- 为什么我爱Xonsh
- [Ext JS 7]ClassRequire错误解决
- 软件模拟PWM——呼吸灯小程序的理解
- asp.net c# 常见面试试题总结汇总(含答案)
- 内存映射之fixmap(early_fixmap_init)
- 【从零开始学架构-李运华】09|架构设计原则案例
- win10内置ubuntu, 启动时提示“指定的网络名不再可用”无法启动解决办法
- C系新版凯立德推荐版本G1036
- BCB:内存泄漏检查工具CodeGuard
- 笔记本电脑wifi怎么连接
- C++语法整理(From GitHub)
热门文章
- STM32F103-FATFS 文件系统移植
- Word插入表格相邻单元格边框断开方法
- window下搭建qnx编译环境
- 科东软件荣获“CMCD 2022年度运动控制领域最具投资价值企业”称号
- paypal braintree支付对接
- 案例一:欧洲城市人口
- 11月8日 O2O众包配送平台技术分享,java、python、ios也可现场应聘
- 鸿蒙harmonyOS打印Log日志工具类+看不到Log日志的问题
- 树莓派 4b 组建数据中心(3)挂载移动硬盘/搭建下载机
- Pytorch搭建网络训练葡萄酒分类数据集(三分类)