Akash Testnet 3 Week1 挑战1-3攻略
很久之前Akash也弄了测试网挑战,那是我第一次参与测试网的撸毛,也开启了撸毛生涯,过了这么久,新的测试网的挑战又来了~
这次挑战的任务列表:https://docs.google.com/spreadsheets/d/1uIvJYbbPnpWH48NqJaFZHcTn8OolIaiA5nKcMLDeS0E/edit#gid=0
任务表格:https://docs.google.com/forms/d/e/1FAIpQLSfYGRuXMUje3IOAb66XYXtlomHJjM2am9iTwansuYwylAfr-w/viewform
有些任务写的并不是太清楚,只能按照我自己的理解来做
设置安装
安装Akash CLI
cd ~/ AKASH_VERSION=v0.15.0-rc14 curl https://raw.githubusercontent.com/ovrclk/akash/master/godownloader.sh | sh -s -- "$AKASH_VERSION"
修改 /etc/environment 文件
vi /etc/environment
把/root/bin 加到文件最后
最后结果如下:
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/root/bin"
让修改生效
source /etc/environment
检查Akash CLI是否安装成功
akash version
显示以下内容就代表成功
v0.15.0-rc14
设置一些参数
AKASH_NET="https://raw.githubusercontent.com/ovrclk/net/master/edgenet" export AKASH_KEYRING_BACKEND=os export AKASH_NODE="$(curl -s "$AKASH_NET/rpc-nodes.txt" | shuf -n 1)" export AKASH_CHAIN_ID="$(curl -s "$AKASH_NET/chain-id.txt")"
创建钱包
为了后面的任务方便,创建2个钱包
AKASH_KEY_NAME1=key1 AKASH_KEY_NAME2=key2 akash keys add $AKASH_KEY_NAME1 akash keys add $AKASH_KEY_NAME2 export AKASH_ACCOUNT_ADDRESS1="$(akash keys show $AKASH_KEY_NAME1 -a)" export AKASH_ACCOUNT_ADDRESS2="$(akash keys show $AKASH_KEY_NAME2 -a)"
领取测试币
网站: http://55ma08d6b9aht4gtovcih95dps.ingress.edgenet-1.ewr1.aksh.pw/
网站不太好领取,可以用脚本领取: https://replit.com/@ericet/AkashTestnet3Faucetjs#index.js
挑战1
挑战要求给提案3投票
akash tx gov vote 3 yes --from $AKASH_KEY_NAME1 --fees 5000uakt -y
提交成功后,从返回的数据里找到txhash,复制hash到挑战1的表格,提交就完成了
挑战2.1
挑战2.1有4个任务:
- 第一个:Let a different address spend your tokens to deploy. Authorize a second wallet to spend from your wallet
akash tx deployment authz grant $AKASH_ACCOUNT_ADDRESS2 50000000uakt --from $AKASH_ACCOUNT_ADDRESS1 --fees 5000uakt -y
提交成功后,从返回的数据里找到txhash,复制hash到挑战2的表格的任务1
- 第二个:Have a second address authorize you to spend it’s tokens on a deployment
akash tx deployment authz grant $AKASH_ACCOUNT_ADDRESS1 50000000uakt --from $AKASH_ACCOUNT_ADDRESS2 --fees 5000uakt -y
提交成功后,从返回的数据里找到txhash,复制hash到挑战2的表格的任务2
- 第三个:Create a deployment.
创建证书
akash tx cert generate client --from $AKASH_KEY_NAME1 --gas-prices="0.025uakt" --gas="auto" --gas-adjustment=1.5 akash tx cert generate client --from $AKASH_KEY_NAME2 --gas-prices="0.025uakt" --gas="auto" --gas-adjustment=1.5
发布证书
akash tx cert publish client --from $AKASH_KEY_NAME1 --gas-prices="0.025uakt" --gas="auto" --gas-adjustment=1.15 -y akash tx cert publish client --from $AKASH_KEY_NAME2 --gas-prices="0.025uakt" --gas="auto" --gas-adjustment=1.15 -y
获取deploy.yaml文件
curl -s https://raw.githubusercontent.com/mando222/testnetSDL/main/deploy.yaml > deploy.yaml
创建部署
akash tx deployment create deploy.yaml --from $AKASH_KEY_NAME1 --node $AKASH_NODE --chain-id $AKASH_CHAIN_ID --gas-prices="0.025uakt" --gas="auto" --gas-adjustment=1.5 -y
从返回的数据中找到txhash和dseq号码。把txhash填到表格的任务3处
- 第四个:Cancel Deployment
- 上面的任务获得的dseq号码填入下面命令
akash tx deployment close --dseq <DSEQ号码> --from $AKASH_KEY_NAME1 --fees 5000uakt -y
从返回的数据中获得txhash,填入到任务4处
完成上面这4的任务挑战2.1就完成了,但是Akash的表格可能出错了,后面还有2个挑战2.5的任务需要填写。你可以填写N/A
挑战2.5
任务1: Have a second address authorize you to spend it’s tokens on a deployment using the Authorize Spend feature.
在挑战2.1的第二个任务中,你已经授权第二个钱包给第一个钱包权限部署合约,接下来只需部署就行了
创建部署
akash tx deployment create --depositor-account $AKASH_ACCOUNT_ADDRESS2 --from $AKASH_ACCOUNT_ADDRESS1 deploy.yaml --fees 5000uakt -y
提交成功后,从返回的数据里找到txhash,复制hash到挑战2.5的表格的任务1处
任务2:See if you can do any other actions with tokens authorized from another wallet
尝试转账
akash tx bank send $AKASH_ACCOUNT_ADDRESS2 <任意地址> 10000000uakt --fees 5000uakt --from $AKASH_KEY_NAME1 --fees 5000uakt -y
提交成功后,从返回的数据里找到txhash,复制hash到挑战2.5的表格的任务2处
挑战3.1
任务要求部署一个低于1 uakt 每区块价格的网站
修改一下deploy.yaml,降低配置
--- version: "2.0" services: web: image: ovrclk/lunie-light expose: - port: 3000 as: 80 to: - global: true profiles: compute: web: resources: cpu: units: 0.1 memory: size: 256Mi storage: size: 256Mi placement: westcoast: pricing: web: denom: uakt amount: 100 deployment: web: westcoast: profile: web count: 1
创建部署
akash tx deployment create deploy.yaml --from $AKASH_KEY_NAME1 --node $AKASH_NODE --chain-id $AKASH_CHAIN_ID --gas-prices="0.025uakt" --gas="auto" --gas-adjustment=1.5 -y
从返回的数据中找到dseq号码,输入下面命令
AKASH_DSEQ=<DSEQ号码>
获取竞标的名单
akash query market bid list --owner=$AKASH_ACCOUNT_ADDRESS1 --node $AKASH_NODE --dseq $AKASH_DSEQ
从名单里选一个价格低于1uakt的provider,然后输入下面命令
AKASH_PROVIDER=<provider-address>
创建租借合约
akash tx market lease create --chain-id $AKASH_CHAIN_ID --node $AKASH_NODE --owner $AKASH_ACCOUNT_ADDRESS1 --dseq $AKASH_DSEQ --provider $AKASH_PROVIDER --from $AKASH_KEY_NAME1 --gas-prices="0.025uakt" --gas="auto" --gas-adjustment=1.5 -y
提交成功后,从返回的数据里找到txhash,复制hash到挑战3.1的表格的任务处
挑战4有点麻烦,不写了