
Uniswap V2 交易所部署详解
在DeFi世界中,Dex(去中心化交易所)是最核心的一块,Uniswap是整个Dex的龙头,SushiSwap,PancakeSwap 等都是参考,甚至完全fork了Uniswap的整个产品逻辑和代码,也因此好多人也想部署快速部署一个属于自己的Uniswap,个人觉得也是很有必要的,通过自己从零搭建,一步一步完成,在这个过程可以清楚知道Uniswap整个项目工程的结构和产品逻辑,将来也能站在巨人的肩膀上,开发出自己的DeFi乐高! 前置说明:本次部署是参考Uniswap V2的线上版本,同时结合催眠大师的教程总结来的。本次部署的一些前置工作还需要自己提前准备,比如github账号,钱包,测试网代币水龙头,准备部署账户等部署流程步骤:从浏览器中下载合约源码准备部署账户使用remix编译部署合约部署前端代码安装依赖库修改路由地址将代码部署到Github Pages生成自定义的token自定义token导入Uniswap交易所正文 从浏览器中下载合约源码 这次用的是线上版本 工厂合约 路由合约2 路由合约1是可选的,部署的流程是先部署工厂合约,然后将工厂合约的地址复制给路由合约2的构造...
DeFi交易龙头之Uniswap:V2(核心合约-配对合约)
前面介绍了工厂合约,我们知道配对合约其实是需要工厂合约来进行部署的。从代码上来看,配对合约是继承ERC20合约,那么配对合约实际上就是一个遵守Erc20合约的token. 代码解析类型方法增强从上图看,首先是讲SafeMath和UQ112*112 的库方法给到了对应类型上。为什么要赋予uint224呢,这是因为在solidity中没有非整形的类型,但是实际上token的数量会出现小数位,使用库UQ112**112去模拟浮点数。 2. 常量16行中定义了一个最小流动性,在白皮书的3.4中初始化流动性代币供应这节会讲到,结论就是通过保证最小数量的流动性份额,会大大增加上述攻击的成本。具体的原理我会单独在开一篇章节进行讲解。 18行的selector的常量值是transfer(address, uint256)字符串哈希值的前4个字节,这个用于直接使用call方法调用token的转账方法。 22行工厂地址:因为pair合约是通过工厂合约进行部署的,所有会有一个变量专门去存放工厂合约地址。 23到27行主要是token地址和储备量地址相关。主要是存放两个token的地址,便于调用。储备量...
cypto is the future!

Uniswap V2 交易所部署详解
在DeFi世界中,Dex(去中心化交易所)是最核心的一块,Uniswap是整个Dex的龙头,SushiSwap,PancakeSwap 等都是参考,甚至完全fork了Uniswap的整个产品逻辑和代码,也因此好多人也想部署快速部署一个属于自己的Uniswap,个人觉得也是很有必要的,通过自己从零搭建,一步一步完成,在这个过程可以清楚知道Uniswap整个项目工程的结构和产品逻辑,将来也能站在巨人的肩膀上,开发出自己的DeFi乐高! 前置说明:本次部署是参考Uniswap V2的线上版本,同时结合催眠大师的教程总结来的。本次部署的一些前置工作还需要自己提前准备,比如github账号,钱包,测试网代币水龙头,准备部署账户等部署流程步骤:从浏览器中下载合约源码准备部署账户使用remix编译部署合约部署前端代码安装依赖库修改路由地址将代码部署到Github Pages生成自定义的token自定义token导入Uniswap交易所正文 从浏览器中下载合约源码 这次用的是线上版本 工厂合约 路由合约2 路由合约1是可选的,部署的流程是先部署工厂合约,然后将工厂合约的地址复制给路由合约2的构造...
DeFi交易龙头之Uniswap:V2(核心合约-配对合约)
前面介绍了工厂合约,我们知道配对合约其实是需要工厂合约来进行部署的。从代码上来看,配对合约是继承ERC20合约,那么配对合约实际上就是一个遵守Erc20合约的token. 代码解析类型方法增强从上图看,首先是讲SafeMath和UQ112*112 的库方法给到了对应类型上。为什么要赋予uint224呢,这是因为在solidity中没有非整形的类型,但是实际上token的数量会出现小数位,使用库UQ112**112去模拟浮点数。 2. 常量16行中定义了一个最小流动性,在白皮书的3.4中初始化流动性代币供应这节会讲到,结论就是通过保证最小数量的流动性份额,会大大增加上述攻击的成本。具体的原理我会单独在开一篇章节进行讲解。 18行的selector的常量值是transfer(address, uint256)字符串哈希值的前4个字节,这个用于直接使用call方法调用token的转账方法。 22行工厂地址:因为pair合约是通过工厂合约进行部署的,所有会有一个变量专门去存放工厂合约地址。 23到27行主要是token地址和储备量地址相关。主要是存放两个token的地址,便于调用。储备量...
cypto is the future!

Subscribe to cyptoJune

Subscribe to cyptoJune
Share Dialog
Share Dialog
<100 subscribers
<100 subscribers
n'bu'm发布Nft系列文章-合约篇以来,基本大部分小伙伴都按照步骤实现了在ipfs测试网mint了不带任何属性的图片。我们接着合约篇开始讲解拼图篇.
拼图篇需要实现的功能主要是两个:
如何快速制作多种拼图以及meta资料
如何上传ipfs星际网络系统(测试网络)
开始之前需要准备的物料清单如下
OpenSea测试网络 https://testnets.opensea.io/
HashLips 组图专案 https://github.com/HashLips/hashlips_art_engine
ipfs上传空间 https://www.pinata.cloud/
实战步骤
从git上下载Hashlips项目

2. 在vs中打开项目程序,找到main.js中 将startCreating 方法中的343行改成 i =0;

3.cd到项目本地跟路径下,然后运行yarn install,进行安装相关包
4.相关包安装成功之后,输入yarn run build,进行项目本地构建。成功之后,如下:

这个时候会生成五张图片,打开项目图片生成的目录build,看到生成的对应五张图片

第一个红框是五张图片,第二张图片是五张图片对应的meta信息,打开会看到对应图片的属性和权重,同时在layers文件夹,会将图片分成很多层次的图层,进行随机拼接。



5.接着我们将config.js中如图所示的layerConfigurations数量改成10张,然后继续执行yarn run build 命令,成功执行之后,就会生成10张图片。



6.打开Pinata网站,将刚生成的10张图片上传上去。



成功后如下

7.紧接着打开代码,将绿色框中的文字替换成cid



8.更新成功之后,紧接着输入

成功之后,打开json中任意的文件,看到image中的地址替换成了刚才的CID

9.将Json文件夹继续整包上传上去


10 开始做盲盒图片,我们从layers中取出一个黑色背景图片作为盲盒的封面

11.然后新建一个unpack文件夹,将该图片命名为unpack.png图片,同时新建一个unpack.json文件,其内容如下。


红色框中是你刚刚上传图片的CID.

12.remix中找到红色框中的函数,然后将上图中的unpack.json的CID赋值,赋值到红色输入框中,同时前缀加上**ipfs://,**然后点击按钮。

13.在setBaseUrl中设置meta_jsons的CID,同时也加上前缀ipfs:// ,同时在后面追加/,因为meta_jsons中是一个集合,因此加上/ ,完成之后点击按钮即可。

等以上交易confirm之后,然后打开ipfs的测试网,这个时候,就会出现黑色的图片,其实就是盲盒的形态。

14.在红色框中的函数点击,就会开启盲盒功能,等交易完成,回到ipfs上,就会看到你刚刚抽到的盲盒的形态。


结束.
以上就是主流的Nft的盲盒的玩法,介绍给大家。Done!
n'bu'm发布Nft系列文章-合约篇以来,基本大部分小伙伴都按照步骤实现了在ipfs测试网mint了不带任何属性的图片。我们接着合约篇开始讲解拼图篇.
拼图篇需要实现的功能主要是两个:
如何快速制作多种拼图以及meta资料
如何上传ipfs星际网络系统(测试网络)
开始之前需要准备的物料清单如下
OpenSea测试网络 https://testnets.opensea.io/
HashLips 组图专案 https://github.com/HashLips/hashlips_art_engine
ipfs上传空间 https://www.pinata.cloud/
实战步骤
从git上下载Hashlips项目

2. 在vs中打开项目程序,找到main.js中 将startCreating 方法中的343行改成 i =0;

3.cd到项目本地跟路径下,然后运行yarn install,进行安装相关包
4.相关包安装成功之后,输入yarn run build,进行项目本地构建。成功之后,如下:

这个时候会生成五张图片,打开项目图片生成的目录build,看到生成的对应五张图片

第一个红框是五张图片,第二张图片是五张图片对应的meta信息,打开会看到对应图片的属性和权重,同时在layers文件夹,会将图片分成很多层次的图层,进行随机拼接。



5.接着我们将config.js中如图所示的layerConfigurations数量改成10张,然后继续执行yarn run build 命令,成功执行之后,就会生成10张图片。



6.打开Pinata网站,将刚生成的10张图片上传上去。



成功后如下

7.紧接着打开代码,将绿色框中的文字替换成cid



8.更新成功之后,紧接着输入

成功之后,打开json中任意的文件,看到image中的地址替换成了刚才的CID

9.将Json文件夹继续整包上传上去


10 开始做盲盒图片,我们从layers中取出一个黑色背景图片作为盲盒的封面

11.然后新建一个unpack文件夹,将该图片命名为unpack.png图片,同时新建一个unpack.json文件,其内容如下。


红色框中是你刚刚上传图片的CID.

12.remix中找到红色框中的函数,然后将上图中的unpack.json的CID赋值,赋值到红色输入框中,同时前缀加上**ipfs://,**然后点击按钮。

13.在setBaseUrl中设置meta_jsons的CID,同时也加上前缀ipfs:// ,同时在后面追加/,因为meta_jsons中是一个集合,因此加上/ ,完成之后点击按钮即可。

等以上交易confirm之后,然后打开ipfs的测试网,这个时候,就会出现黑色的图片,其实就是盲盒的形态。

14.在红色框中的函数点击,就会开启盲盒功能,等交易完成,回到ipfs上,就会看到你刚刚抽到的盲盒的形态。


结束.
以上就是主流的Nft的盲盒的玩法,介绍给大家。Done!
No activity yet