IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 区块链 -> 如何在本地以太坊测试网络hardhat中使用pancakeswap? -> 正文阅读

[区块链]如何在本地以太坊测试网络hardhat中使用pancakeswap?

已经有相关的文章教程可以将pancake-swap-interface-v1部署到以太坊类链上了,
例如:

如何将PancakeSwap部署到以太坊类链上

但是,pancake-swap-interface-v1只有swapliquidity的功能,没有farm等质押等功能,

v1已经弃用,pancake-swap-interface-v2暂时还没有开源;

而且目前对于pancake-frontend前端工程如何配置还没有一个详细完整的教程。

基于此,笔者将pancake前端工程pancake-frontend配置成本地的hardhat测试网环境,同理更改配置,如chanid等也可以在以太坊测试网(如goerli等)使用。

项目的完整地址在:
GitHub - chobynleo/pancake-swap-frontend-hardhat-testnet: A hardhat testnet environment (MAC) base on pancake-frontend 一个基于pancake-frontend的hardhat测试网环境

Example

633b758248ca8948f6203800ef077ef.png

ea25020cd788667200af40c7b2f1c0a.png

feaaca7b20e91d1c8470b6acfc43196.png

?下载之后安装运行也很方便:

环境要求?

nvm use 12

安装依赖

sh install.sh

开启服务

sh serve.sh

一键部署

sh deploy.sh

运行项目

sh start.sh

如果你想自己配置Pancake-frontend的过程,并构建自己的测试网络环境,

下面将告诉你哪些文件需要修改,

配置教程:
(转载请注明出处)

一个基于pancake-frontend和hardhat的以太坊测试环境

工程文件的拉取与环境的配置

1.下载pancake-swap-core源码

git clone git@github.com:pancakeswap/pancake-swap-core.git
yarn install
yarn compile

2.下载pancake-swap-periphery源码

git clone git@github.com:pancakeswap/pancake-swap-periphery.git
yarn install
yarn compile

3.下载pancake-swap-interface-v1前端源码

git clone git@github.com:pancakeswap/pancake-swap-interface-v1.git
yarn install

tip:安装过程出现“import @uniswap/v2-core/contracts/interfaces/IPancakePair.sol”
编译报错问题 参考登链社区的回答

安装与部署

相关合约地址的源码可以到
https://bscscan.com/address/your_address#code
下载

pancake-swap-core目录下

  • 安装hardhat并编写部署文件PancakeFactory.sol;

    npm install --save-dev
    hardhat npx hardhat
    

    选择Create an empty hardhat.config.js,并进行基本的solidity版本设置、ALCHEMY_API_KEY设置等;

  • 创建scripts/deploy.js并编写相应的部署脚本,注意要将你的账户地址赋值给feeToSetter变量,传入合约的构造函数中,接着部署;

    npx hardhat run scripts/deploy.js --network dev
    
  • 保存INIT_CODE_PAIR_HASH;

pancake-swap-periphery目录下

  • 安装hardhat并编写部署文件PancakeRouter.sol;

    npm install --save-dev hardhat
    npx hardhat
    

    选择Create an empty hardhat.config.js,并进行基本的solidity版本设置、ALCHEMY_API_KEY设置等;

  • 找到PancakeLibrary.sol里的pairFor函数,
    将其INIT_CODE_PAIR_HASHhex更改为我们的INIT_CODE_PAIR_HASH;

  • 创建scripts/deploy.js并编写相应的部署脚本,将PancakeFactory的address和WETH的address作为两个参数传入合约的构造函数中;

    npx hardhat run scripts/deploy.js --network dev
    

    遇到error:max code size exceeded,解决的方法是将solidity->optimizer->runs值设置为200;

pancake-frontend目录下

以下将列出所有需要更改的文件:

  • ethers.providers.StaticJsonRpcProvider(RPC_URL)的设置在src/utils/providers.ts,参数在env.development中的REACT_APP_NODE_PRODUCTION;
  • 网络url配置的路径在PANCAKE-FRONTEND/src/config/constants/networks.ts;
  • testnet网络中默认的token配置也要更改,在src/config/constants/tokens.ts;
  • tokenlist路径在src/config/constants/tokenlists/pancake-default.tokenlist.json,但为了便于本地访问,在初始部署时我拷贝了到public/里面,后续有需要更改的是public/里面的值;
  • PANCAKE_EXTENDEDPANCAKE_TOP100路径在src/config/constants/lists.ts
  • FACTORY_ADDRESSINIT_CODE_HASH的配置在node_modules/@pancakeswap/sdk/dist/constants.d.ts
  • 钱包连接网络的配置在src/utils/wallet.ts
  • ROUTER_ADDRESS的配置在src/config/constants/index.ts;
  • masterCheflotteryV2multiCall等合约的地址配置在src/config/constants/contracts.ts
  • ABIaddress的配置分别在config/abi/,utils/addressHelpers,其引用在src/utils/contractHelpers.ts,src/hooks/useContract.ts
  • priceHelperLps的配置在src/config/constants/priceHelperLps.ts;
  • src/state/farms/hooks.ts里面的useFarmFromPid(251)需要更改成正确的参数值
  • src/config/index.ts里面的BASE_BSC_SCAN_URLS,BASE_URL,BASE_BSC_SCAN_URL需要更改成正确的参数值
  • farmpools,ifo,pricehelper,contracts的里面的合约地址和网络chainId需要更改,分别在
    src/config/constants/farm.ts
    src/config/constants/pools.ts
    src/config/constants/ifo.ts
    src/config/constants/pricehelper.ts
    src/config/constants/contract.ts
  区块链 最新文章
盘点具备盈利潜力的几大加密板块,以及潜在
阅读笔记|让区块空间成为商品,打造Web3云
区块链1.0-比特币的数据结构
Team Finance被黑分析|黑客自建Token“瞒天
区块链≠绿色?波卡或成 Web3“生态环保”标
期货从入门到高深之手动交易系列D1课
以太坊基础---区块验证
进入以太坊合并的五个数字
经典同态加密算法Paillier解读 - 原理、实现
IPFS/Filecoin学习知识科普(四)
上一篇文章      下一篇文章      查看所有文章
加:2022-01-14 02:01:46  更:2022-01-14 02:02:23 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/20 7:07:20-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码