Akash DeCloud部署Uniswap
Akash是什么
Akash是为DeFi而设的DeCloud和世界上第一个去中心化云计算市场。通过AKT代币的激励机制,Akash可以连接世界各地有计算资源的人或者说云服务供应商和需要云服务的普通客户。一方面用户可以作为供应商出租自己的计算能力,另一方面消费者不需要理解自己使用的具体是哪个云服务供应商。
1.制作一个Uniswap的Docker镜像
1.1从Uniswap上下载一份Uniswap
访问 https://github.com/Uniswap/uniswap-interface 根据提示使用yarn下载所有依赖。推荐使用npm7代替官方推荐的yarn,因为npm7添加了自动下载的特性peer Dependencies,不用手动去下载。
运行yarn start,访问localhost:3000试试看能不能跑通。


1.2打包Uniswap项目
输入yarn build打包,保存在项目目录下的build文件夹内

1.3制作Docker镜像
Docker的安装和基本使用方法参见https://www.runoob.com/docker/docker-tutorial.html
我们在Uniswap项目文件夹下添加Dockerfile文件,里面输入如下内容
FROM nginx
COPY build /usr/share/nginx/html
EXPOSE 80
CMD ["nginx", "-g", "daemon off;"]
他们的意思是:
基于Nginx镜像
把编译镜像的/node/release/build复制到/usr/share/nginx/html
暴露端口80
运行nginx
保存完Dockerfile后,输入docker build . -t uniswap:v1,然后输入docker images可以看到已经被打包的镜像。

1.4上传image至DockerHub
输入docker tag uniswap:v1 halw001/uniswap:v2将刚刚的镜像重新tag
这时输入docker run --name uniswap -p 80:80 halw001/uniswap:v2,看看最终上传的image是否能正常生成container并运行


如果一切正常,输入docker push halw001/uniswap:v2来上传至dockerhub,这样任何人都能通过docker pull halw001/uniswap:v2来使用我上传的镜像。
2部署至Akash网络
2.1修改一下部署文件
根据https://github.com/ovrclk/docs/blob/335978772efddd76215adadcd6fa4d13464ddff7/testnet-challenges/deploy-1-1.yaml,把其中6-9行改为
image: scriptmoney/uniswap:v2 # dockerhub上的镜像
expose:
- port: 80 # 内部运行端口
as: 80 # 暴露出的端口
并保存为deploy-docker.yml
2.2上传到Akash网络
创建部署
akash tx deployment create deploy-squoosh.yml --from $KEY_NAME --node $AKASH_NODE --chain-id $AKASH_CHAIN_ID -y
等待租凭,查看是否成功。主要要在环境变量中设置这条命令输出的PROVIDER/DSEQ/OSEQ/GSEQ变量值。
akash provider send-manifest deploy-squoosh.yml --node $AKASH_NODE --dseq $DSEQ --oseq $OSEQ --gseq $GSEQ --owner $ACCOUNT_ADDRESS --provider $PROVIDER
上传manifest
akash provider send-manifest deploy-squoosh.yml --node $AKASH_NODE --dseq $DSEQ --oseq $OSEQ --gseq $GSEQ --owner $ACCOUNT_ADDRESS --provider $PROVIDER
检查状态
akash provider lease-status --node $AKASH_NODE --dseq $DSEQ --oseq $OSEQ --gseq $GSEQ --provider $PROVIDER --owner $ACCOUNT_ADDRESS

可以通过返回信息访问已经部署完成的Uniswap程序
Akash部署完成的地址:http://qemmue8jnvswvhcfbdzdex.provider4.akashdev.net/#/swap


浙公网安备 33010602011771号