本文档提供了在 AWS 上设置和部署 STRATO Mercata 节点的详细步骤。它涵盖了从购买域名和 SSL 证书到配置虚拟机、安装软件依赖项以及运行 STRATO 脚本的整个过程,并且还包括配置 Sendgrid 以发送邮件通知,最后验证节点部署环节。
初始设置流程:
STRATO 节点安装和部署流程:
目录
(在 创建 VM 之后执行)
#!/bin/bash
set -e
set -x
if [[ $EUID -ne 0 ]]; then
echo >&2 “Must be run as root” # 必须以 root 身份运行
exit 1
fi
sudo yum update -y
sudo yum install -y docker git htop jq
# Autostart on reboot # 重新启动时自动启动
sudo systemctl enable docker
sudo systemctl start docker
# Docker-compose
DOCKER_CONFIG=/usr/local/lib/docker
sudo mkdir -p $DOCKER_CONFIG/cli-plugins
sudo curl -SL https://github.com/docker/compose/releases/download/v2.24.5/docker-compose-linux-x86_64 -o $DOCKER_CONFIG/cli-plugins/docker-compose
sudo chmod +x /usr/local/lib/docker/cli-plugins/docker-compose
# ncdu (Amazon Linux 2023 steps)
wget http://packages.eu-central-1.amazonaws.com/2018.03/main/c31535f74c6e/x86_64/Packages/ncdu-1.10-1.3.amzn1.x86_64.rpm
sudo yum install -y ncdu-1.10-1.3.amzn1.x86_64.rpm
使用 sudo bash install.sh 执行脚本
使用以下代码块创建 mount.sh:
#!/bin/bash
set-ex
#Mountvolumeto/datadrivedirwithauto-mount(followingtheCloudProvider’ssteps):
lsblk
sudofile-s/dev/nvme1n1#mustreturn`/dev/nvme1n1:data`toconfirmthatnofilesystemexistsonavolume
sudomkfs-txfs/dev/nvme1n1
sudomkdir/datadrive
sudochmod777/datadrive/
sudomount/dev/nvme1n1/datadrive/
sudocp/etc/fstab/etc/fstab.orig
sudobash-c“echo‘UUID=$(sudoblkid\|grepnvme1n1\|cut-d\\”-f2)/datadrivexfsdefaults,nofail02′>>/etc/fstab”
sudoumount/datadrive&&sudomount-a#thisistomakesureauto-mountworks
sudochownec2-user/datadrive/
df-h#confirmthe/datadriveisattachedtovolume
#MoveDockertothedatavolume
sudoservicedockerstop
sudobash-c“echo‘{\\”data-root\\”:\\”/datadrive/docker\\”}’>/etc/docker/daemon.json”
sudorsync-aP/var/lib/docker//datadrive/docker
sudorm-rf/var/lib/docker
sudoservicedockerstart
git clone https://github.com/blockapps/strato-getting-started
cd strato-getting-started
使用 sudo ./strato –compose 下载最新发布版本的 docker-compose.yml
执行 sudo ./strato –pull
编辑 `strato-run.sh` 文件,该文件位于 加粗strato-getting-started加粗 目录中,其中包含运行 STRATO 所需的所有参数:
sudo nano strato-run.sh
#!/bin/bash
NODE_HOST=”<DOMAIN_NAME>”\
BOOT_NODE_IP='[“44.209.149.47″,”54.84.33.40″,”52.1.78.10″,”44.198.14.117”]' \
networkID=”6909499098523985262″\
certInfo='{“orgName”:”service-account-<CLIENT_ID_HERE>”,”orgUnit”:””,”commonName”:”service-account-<CLIENT_ID_HERE>”}'\
OAUTH_CLIENT_ID=”<CLIENT_ID_HERE>”\
OAUTH_CLIENT_SECRET=”<CLIENT_SECRET_HERE>”\
SENDGRID_API_KEY='<SENDGRID_API_KEY_HERE>'\
ssl=true\
BASE_CODE_COLLECTION=”f6bd7e19afc20325c6c5170e965fda8fe9a7104a”\
./strato
替换占位符:
保存并退出 nano (Ctrl+X -> “y” -> Enter)
注意: 有关参数的其他信息,请查看帮助主题:sudo ./strato –help
将你的 TLS 证书和私钥复制到 ssl/ 目录中:
注意: 加粗strato-getting-started加粗 默认包含一个虚拟证书,允许你在没有自己的 TLS 证书的情况下运行节点。如果你有 DNS 提供商 (例如,Cloudflare 或 AWS Route53 等) 提供的 TLS 保护,这可能适用于测试或适用。
替换占位符并执行:
cp <path_to_your_pem_file> ssl/private/server.key
cp <path_to_your_pem_file> ssl/cert/server.pem
sudo ./strato-run.sh
接下来,BlockApps 必须使用他们请求的身份信息向验证者颁发证书。在本例中,该信息将是 service-account-<CLIENT_ID_HERE> 作为组织和通用名称(应与 strato-run.sh 脚本中提供的占位符中的值匹配)。
- 原文链接: blockapps.net/blog/runni...
- 登链社区 AI 助手,为大家转译优秀英文文章,如有翻译不通的地方,还请包涵~
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!