11#! /bin/bash
22
3+ echo " [LOG] script start"
4+
35set +e
46
57{
68 echo " AWS_REGION=${_AWS_REGION_} "
79 echo " STACK_NAME=${_STACK_NAME_} "
810 echo " STACK_ID=${_STACK_ID_} "
911 echo " RESOURCE_ID=${_NODE_CF_LOGICAL_ID_} "
10-
12+
13+ echo " DATA_VOLUME_TYPE=${_DATA_VOLUME_TYPE_} "
14+ echo " DATA_VOLUME_SIZE=${_DATA_VOLUME_SIZE_} "
15+ echo " NETWORK_ID=${_NETWORK_ID_} "
16+
1117} >> /etc/environment
1218
1319source /etc/environment
@@ -17,11 +23,17 @@ source /etc/environment
1723# ASCII art removed for brevity, silenced interactions, added testnet p2p, Ubuntu 24.04 LTS tests
1824
1925# 1. Updating packages
26+ echo " [LOG] updating packages"
2027sudo apt-get -qq update && sudo apt upgrade -y
2128sudo apt-get -qq install -y build-essential
2229sudo apt-get -qq install -y libclang-dev
2330sudo apt-get -qq install -y pkg-config libssl-dev
2431
32+ # emitting cfn-signal event
33+ sudo apt-get -qq install -y python3-pip
34+ sudo pip3 install https://s3.amazonaws.com/cloudformation-examples/aws-cfn-bootstrap-py3-latest.tar.gz
35+ cfn-signal --stack $STACK_NAME --resource $RESOURCE_ID --region $AWS_REGION
36+
2537# Check if GCC is installed silently
2638if ! command -v gcc & > /dev/null; then
2739 exit 1
@@ -40,39 +52,58 @@ if [[ ":$PATH:" != *":/usr/bin:"* ]]; then
4052 source ~ /.bashrc
4153fi
4254
43-
4455# 2. Install dependencies
56+ echo " [LOG] Install dependencies"
57+
4558sudo apt-get update && DEBIAN_FRONTEND=noninteractive TZ=Etc/UTC apt-get install -y --no-install-recommends tzdata git ca-certificates curl cmake jq
4659sudo apt install -y libprotobuf-dev protobuf-compiler
4760
4861# 3. Install Rust
62+ echo " [LOG] install rust"
4963sudo curl https://sh.rustup.rs -sSf | sh -s -- -y
5064source $HOME /.cargo/env
5165
5266# 4. Download Sui Binaries
67+ # echo "[LOG] sui binaries"
5368# cd $HOME
54- # rm -rf sui
55- # git clone https://github.com/MystenLabs/sui.git
69+ # git clone https://github.com/MystenLabs/sui.git --branch testnet --single-branch
5670# cd sui
57- # git remote add upstream https://github.com/MystenLabs/sui
58- # git fetch upstream
59- # git checkout -B testnet --track upstream/testnet
71+ # # git remote add upstream https://github.com/MystenLabs/sui
72+ # # git fetch upstream
73+ # # git checkout -B testnet --track upstream/testnet
6074
6175# cargo build -p sui-node -p sui --release
6276# sudo mv ~/sui/target/release/sui-node /usr/local/bin/
6377# sudo mv ~/sui/target/release/sui /usr/local/bin/
6478
79+ # Downloading sui binaries from Github
80+ wget https://github.com/MystenLabs/sui/releases/download/mainnet-v1.27.4/sui-mainnet-v1.27.4-ubuntu-x86_64.tgz
81+ tar -xvzf sui-mainnet-v1.27.4-ubuntu-x86_64.tgz
82+ sudo mv ./sui-node /usr/local/bin/
83+ sudo mv ./sui /usr/local/bin/
84+
85+
6586# 5. Update Configs
87+ echo " [LOG] update configs"
6688mkdir -p $HOME /.sui/
6789cd $HOME /.sui/
90+
91+ # Genesis for Testnet
6892wget -O genesis.blob https://github.com/MystenLabs/sui-genesis/raw/main/testnet/genesis.blob
93+
94+ # Genesis for Mainnet
95+ # wget -O genesis.blob https://github.com/MystenLabs/sui-genesis/raw/main/mainnet/genesis.blob
96+
97+ # Genesis for Devnet
98+ # wget -O genesis.blob https://github.com/MystenLabs/sui-genesis/raw/main/devnet/genesis.blob
99+
69100cp $HOME /sui/crates/sui-config/data/fullnode-template.yaml $HOME /.sui/fullnode.yaml
70101sed -i ' s/127.0.0.1/0.0.0.0/' $HOME /.sui/fullnode.yaml
71102sed -i " s|db-path:.*|db-path: $HOME /.sui/db|g" $HOME /.sui/fullnode.yaml
72103sed -i " s|genesis-file-location:.*|genesis-file-location: $HOME /.sui/genesis.blob|g" $HOME /.sui/fullnode.yaml
73104
74-
75105# Testnet p2p peers
106+ echo " [LOG] testnet p2p peers"
76107
77108cat << EOF >> $HOME /.sui/fullnode.yaml
78109
@@ -95,7 +126,37 @@ p2p-config:
95126
96127EOF
97128
129+ # Mainnet peer configuration
130+ # p2p-config:
131+ # seed-peers:
132+ # - address: /dns/mel-00.mainnet.sui.io/udp/8084
133+ # peer-id: d32b55bdf1737ec415df8c88b3bf91e194b59ee3127e3f38ea46fd88ba2e7849
134+ # - address: /dns/ewr-00.mainnet.sui.io/udp/8084
135+ # peer-id: c7bf6cb93ca8fdda655c47ebb85ace28e6931464564332bf63e27e90199c50ee
136+ # - address: /dns/ewr-01.mainnet.sui.io/udp/8084
137+ # peer-id: 3227f8a05f0faa1a197c075d31135a366a1c6f3d4872cb8af66c14dea3e0eb66
138+ # - address: /dns/lhr-00.mainnet.sui.io/udp/8084
139+ # peer-id: c619a5e0f8f36eac45118c1f8bda28f0f508e2839042781f1d4a9818043f732c
140+ # - address: /dns/sui-mainnet-ssfn-1.nodeinfra.com/udp/8084
141+ # peer-id: 0c52ca8d2b9f51be4a50eb44ace863c05aadc940a7bd15d4d3f498deb81d7fc6
142+ # - address: /dns/sui-mainnet-ssfn-2.nodeinfra.com/udp/8084
143+ # peer-id: 1dbc28c105aa7eb9d1d3ac07ae663ea638d91f2b99c076a52bbded296bd3ed5c
144+ # - address: /dns/sui-mainnet-ssfn-ashburn-na.overclock.run/udp/8084
145+ # peer-id: 5ff8461ab527a8f241767b268c7aaf24d0312c7b923913dd3c11ee67ef181e45
146+ # - address: /dns/sui-mainnet-ssfn-dallas-na.overclock.run/udp/8084
147+ # peer-id: e1a4f40d66f1c89559a195352ba9ff84aec28abab1d3aa1c491901a252acefa6
148+ # - address: /dns/ssn01.mainnet.sui.rpcpool.com/udp/8084
149+ # peer-id: fadb7ccb0b7fc99223419176e707f5122fef4ea686eb8e80d1778588bf5a0bcd
150+ # - address: /dns/ssn02.mainnet.sui.rpcpool.com/udp/8084
151+ # peer-id: 13783584a90025b87d4604f1991252221e5fd88cab40001642f4b00111ae9b7e
152+
153+
154+ # Devnet peer configuration
155+ # Don't need to configure peers for devnet
156+
98157# 6. Make Sui Service
158+ echo " [LOG] make Sui service"
159+
99160sudo tee /etc/systemd/system/suid.service > /dev/null << EOF
100161[Unit]
101162Description=Sui node
@@ -128,9 +189,10 @@ else
128189fi
129190
130191# Display Sui version
192+ echo " [LOG] Sui Version: $( sui -V) "
193+
131194echo " Sui Version: $( sui -V) "
132195
133- cfn-signal --stack $STACK_NAME --resource $RESOURCE_ID --region $AWS_REGION
134196
135197
136198# Useful commands (added as comments)
0 commit comments