Akash部署Yearn
Akash项目介绍
Akash是为DeFi而设的DeCloud和世界上第一个去中心化云计算市场。通过AKT代币的激励机制,Akash可以连接世界各地有计算资源的人或者说云服务供应商和需要云服务的普通客户。一方面用户可以作为供应商出租自己的计算能力,另一方面消费者不需要理解自己使用的具体是哪个云服务供应商。
项目官网:https://akash.network/
1.制作一个Yearn的Docker镜像
1.1下载并运行项目
项目主页:https://github.com/iearn-finance/iearn-finance
通过git clone https://github.com/iearn-finance/iearn-finance.git将项目下载到本地。
运行npm install下载项目所需依赖包

运行npm start,访问地址localhost:3000可以运行Yearn

1.2打包Yearn项目
输入npm run build打包项目,将在目录下生成一个build文件夹。

1.3制作Docker镜像
Docker的安装和基本使用方法参见https://www.runoob.com/docker/docker-tutorial.html
我们在Yearn项目文件夹下添加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 yearn:0.1,然后输入docker images可以看到已经被打包的镜像

运行docker run --name yearn -p 80:80 yearn:0.1,访问localhost查看是否正常运行

1.4上传image至DockerHub
docker tag yearn:0.1 halw001/yearn:0.1重命名tag
docker push halw001/yearn:0.1上传至DockerHub

2部署到Akash网络
2.1编辑部署文件
根据https://github.com/ovrclk/docs/blob/335978772efddd76215adadcd6fa4d13464ddff7/testnet-challenges/deploy-1-1.yaml,把其中6-9行改为
image: halw001/yearn:0.1
expose:
- port: 80
as: 80
并保存为deploy-yearn.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

打开上面图片中返回的地址8s72s6tabpce3acsbd4ihe6g5o.provider4.akashdev.net,可以看到部署成功了。

最后输入如下指令,释放provider。
akash tx deployment close --node $AKASH_NODE --chain-id $AKASH_CHAIN_ID --dseq $DSEQ --owner $ACCOUNT_ADDRESS --from $KEY_NAME -y

浙公网安备 33010602011771号