이 섹션에서는 메인넷용 Story 노드를 설정하는 방법을 안내합니다. Story는 실행 클라이언트와 합의 클라이언트를 분리하는 ETH PoS에서 영감을 받았습니다. 실행 클라이언트인 story-gethstoryexec는 Engine API를 통해 EVM 블록을 storystoryconsensus 합의 클라이언트로 전달하며, ABCI++ 어댑터를 사용하여 EVM 상태를 CometBFT와 호환되게 만듭니다. 이러한 아키텍처로 인해 합의 효율성은 더 이상 실행 트랜잭션 처리량에 의해 병목 현상이 발생하지 않습니다.
Story 노드 실행에 필요한 클라이언트를 구성하는 storystoryexecgethstoryconsensus 바이너리는 최신 릴리스에서 사용할 수 있습니다.release pages:
# Download and install Go 1.22.0cd $HOME# Set Go versionGO_VERSION="1.22.0"# Download Go binarywget "https://golang.org/dl/go${GO_VERSION}.linux-amd64.tar.gz"# Remove existing Go installation and extract new versionsudo rm -rf /usr/local/gosudo tar -C /usr/local -xzf "go${GO_VERSION}.linux-amd64.tar.gz"# Clean up downloaded archiverm "go${GO_VERSION}.linux-amd64.tar.gz"# Add Go to PATHecho "export PATH=$PATH:/usr/local/go/bin:$HOME/go/bin" >> ~/.bash_profilesource ~/.bash_profile# Verify installationgo version
# storysudo tee /etc/systemd/system/story.service > /dev/null <<EOF[Unit]Description=Story CosmovisorAfter=network.target[Service]Type=simpleUser=$USERGroup=$GROUPExecStart=/usr/local/bin/cosmovisor run run \--api-enable \--api-address=0.0.0.0:1317Restart=on-failureRestartSec=5sLimitNOFILE=65535Environment="DAEMON_NAME=$DAEMON_NAME"Environment="DAEMON_HOME=$DAEMON_HOME"Environment="DAEMON_ALLOW_DOWNLOAD_BINARIES=false"Environment="DAEMON_RESTART_AFTER_UPGRADE=true"Environment="DAEMON_DATA_BACKUP_DIR=$DAEMON_HOME/cosmovisor/backup"WorkingDirectory=$DAEMON_HOME[Install]WantedBy=multi-user.targetEOF
Copy
Ask AI
# storysudo tee /etc/systemd/system/story.service > /dev/null <<EOF[Unit]Description=Story CosmovisorAfter=network.target[Service]Type=simpleUser=${USER}Group=${GROUP}ExecStart=${path_to_story_binary} run run \--api-enable \--api-address=0.0.0.0:1317Restart=on-failureRestartSec=5sLimitNOFILE=65535Environment="DAEMON_NAME=$DAEMON_NAME"Environment="DAEMON_HOME=$DAEMON_HOME"Environment="DAEMON_ALLOW_DOWNLOAD_BINARIES=false"Environment="DAEMON_RESTART_AFTER_UPGRADE=true"Environment="DAEMON_DATA_BACKUP_DIR=$DAEMON_HOME/cosmovisor/backup"WorkingDirectory=$DAEMON_HOME[Install]WantedBy=multi-user.targetEOF
Copy
Ask AI
# storysudo tee /etc/systemd/system/story.service > /dev/null <<EOF[Unit]Description=Story CosmovisorAfter=network.target[Service]Type=simpleUser=${USER}Group=${GROUP}ExecStart=${path_to_story_binary} run run \--api-enable \--api-address=0.0.0.0:1317Restart=on-failureRestartSec=5sLimitNOFILE=65535Environment="DAEMON_NAME=$DAEMON_NAME"Environment="DAEMON_HOME=$DAEMON_HOME"Environment="DAEMON_ALLOW_DOWNLOAD_BINARIES=false"Environment="DAEMON_RESTART_AFTER_UPGRADE=true"Environment="DAEMON_DATA_BACKUP_DIR=$DAEMON_HOME/cosmovisor/backup"WorkingDirectory=$DAEMON_HOME[Install]WantedBy=multi-user.targetEOF
Copy
Ask AI
# storysudo tee /etc/systemd/system/story.service > /dev/null <<EOF[Unit]Description=Story CosmovisorAfter=network.target[Service]Type=simpleUser=${USER}Group=${GROUP}ExecStart=${path_to_story_binary} runRestart=on-failureRestartSec=5sLimitNOFILE=65535WorkingDirectory=$HOME/.story/story[Install]WantedBy=multi-user.targetEOF