使用Akash部署一个基于streamlit的tron钱包

in hive-180932 •  11 months ago  (edited)

akash是一个非常有趣的去中心化云计算市场。在这里部署应用非常的简单快捷而且便宜。

我这里示范部署一个使用streamlit写的tron钱包。

一、写一个钱包

首先用python写了一个简单的tron钱包,代码如下:

https://github.com/maiyude2018/tronmoney/blob/main/tronmoney.py

把代码保存为tronmoney.py

二、部署

代码写好,下面就是部署了。

1.requirements.txt

首先需要一个requirements.txt,写上需要安装什么依赖包,使用的包很少,就只有streamlit和tronpy

streamlit==0.69.1
tronpy==0.1.1

2.制作一个docker镜像

然后下一步是制作一个docker镜像,以用于部署在akash。

新建一个dockerfile,在docker里面安装python3和必要的依赖包,最后启动streamlit。

FROM ubuntu:18.04

RUN apt-get update
RUN apt-get install -y libffi-dev libssl-dev python3 python3-dev python3-pip
RUN pip3 install --upgrade pip

WORKDIR /root/
COPY tron .
RUN pip3 install -r requirements.txt
ENV LANG C.UTF-8
ENV GIT_PYTHON_REFRESH=quiet
CMD ["streamlit","run","tronmoney.py"]

文件打包好,准备开始build docker镜像

image.png

开始构建docker镜像

docker build -t maiyude/tronmoney:v1 .

本地先测试测试docker镜像运行是否正常

docker run -p 8501:8501 maiyude/tronmoney:v1

运行正常

image.png

然后上传镜像到镜像仓库

docker push maiyude/tronmoney:v1

3.部署到akash上

参考官方的deploy.yml,简单修改一下,把自己的docker镜像写上去。

---
version: "2.0"

services:
  web:
    image: maiyude/tronmoney:v1
    expose:
      - port: 8501
        as: 80
        to:
          - global: true

profiles:
  compute:
    web:
      resources:
        cpu:
          units: 0.1
        memory:
          size: 512Mi
        storage:
          size: 1500Mi
  placement:
    westcoast:
      attributes:
        organization: ovrclk.com
      signedBy:
        anyOf:
          - "akash1vz375dkt0c60annyp6mkzeejfq0qpyevhseu05"
      pricing:
        web: 
          denom: uakt
          amount: 1000

deployment:
  web:
    westcoast:
      profile: web
      count: 1

4.按照官方教程,开始部署:

https://docs.akash.network/v/master/guides/deploy

部署完毕之后,获取url:

akash provider lease-status --node $AKASH_NODE --dseq $DSEQ --oseq $OSEQ --gseq $GSEQ --provider $PROVIDER --owner $ACCOUNT_ADDRESS

最后会返回一个类似这样的信息,里面有部署好的URL地址,复制走即可访问


{

  "services": {

    "web": {

      "name": "web",

      "available": 1,

      "total": 1,

      "uris": [

        "fnry5owhim2jzhgwzsvwdb.provider2.akashdev.net"

      ],

      "observed-generation": 0,

      "replicas": 0,

      "updated-replicas": 0,

      "ready-replicas": 0,

      "available-replicas": 0

    }

  },

  "forwarded-ports": {}

}

http://fnry5owhim2jzhgwzsvwdb.provider2.akashdev.net/

image.png

部署完成!一个简单的钱包就弄好了。

Authors get paid when people like you upvote their post.
If you enjoyed what you read here, create your account today and start earning FREE STEEM!
Sort Order:  

拍拍

拍拍