XODE 컴파일하기
Github 환경 설정
기존 SSH 키 확인: 기존 SSH 키가 있는지 확인합니다. 다음 명령을 실행하여 기존 키 목록을 확인하세요:
ls -al ~/.sshid_rsa 또는 id_rsa.pub라는 이름의 파일을 찾으세요.
새 SSH 키 생성(필요한 경우): SSH 키가 없거나 새로 생성하려면 다음 명령을 사용할 수 있습니다:
ssh-keygen -t rsa -b 4096 -C "your_email@example.com"안내에 따라 새 키를 생성합니다. "your_email@example.com"을 실제 이메일 주소로 바꾸는 것을 잊지 마세요.
SSH 에이전트에 SSH 키 추가: SSH 에이전트를 시작하고 개인 키를 추가합니다:
eval "$(ssh-agent -s)"
ssh-add ~/.ssh/id_rsaSSH 키를 클립보드에 복사: 다음 명령을 사용하여 SSH 키를 클립보드에 복사합니다:
cat ~/.ssh/id_rsa.pubGitHub에 SSH 키 추가:
GitHub 계정 설정으로 이동합니다.
"SSH and GPG keys" 또는 "SSH keys"로 이동합니다.
"New SSH key" 또는 "Add SSH key"를 클릭합니다.
제공된 입력란에 키를 붙여넣고 제목을 지정합니다.
Xode-Blockchain 클론(clone)
git clone git@github.com:D2-Xode/xode-blockchain.git
cd xode-blockchainRust 환경 설정
build-essential 패키지를 설치합니다.
sudo apt install build-essentialRust 지원 패키지 설치
sudo apt install --assume-yes git clang curl libssl-dev protobuf-compiler
sudo apt install --assume-yes git clang curl libssl-dev llvm libudev-dev make protobuf-compiler다음 명령을 실행하여 rustup 설치 프로그램을 다운로드하고 이를 사용해 Rust를 설치합니다.
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh다음 명령을 실행하여 현재 셸에 Cargo가 포함되도록 업데이트합니다
source $HOME/.cargo/env다음 명령을 실행하여 Rust 툴체인(toolchain)의 기본값을 최신 stable 버전으로 설정합니다
rustup default stable
rustup update다음 명령을 실행하여 개발 환경에 nightly 릴리스와 nightly WebAssembly(wasm) 타깃을 추가합니다:
rustup update nightly
rustup target add wasm32-unknown-unknown --toolchain nightly
rustup default nightly-x86_64-unknown-linux-gnu다음 명령을 실행하여 개발 환경 구성을 확인합니다.
rustup show
rustup +nightly show스마트 컨트랙트(smart contract)를 위한 WASM 지원 설치
rustup target add wasm32-unknown-unknownXode를 컴파일하고 노드 실행
cargo buildRaspberry Pi(aarch64) 환경용 컴파일
cross 크레이트(crate) 설치
cargo install crossDocker 설치
sudo apt updateapt가 패키지를 사용할 수 있도록 하는 몇 가지 필수 패키지를 설치합니다
sudo apt install apt-transport-https ca-certificates curl software-properties-common공식 Docker 저장소의 GPG 키를 시스템에 추가합니다
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpgDocker 저장소를 APT 소스에 추가합니다
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null패키지를 다시 업데이트합니다
sudo apt updateDocker 저장소에서 설치하려는 것이 맞는지 확인합니다
apt-cache policy docker-ceDocker 설치
sudo apt install docker-ceDocker 상태 확인
sudo systemctl status dockersudo 없이 Docker를 사용할 수 있도록 설정
sudo usermod -aG docker ${USER}
su - ${USER}
groups이제 크로스 컴파일(cross compile)을 실행합니다
cross +nightly build --target aarch64-unknown-linux-gnu --releaseZombienet을 사용하여 XODE 실행하기
xode-node 바이너리가 완전히 컴파일되어 실행되는지 테스트합니다
./target/release/xode-node --versionPolkadot 바이너리를 다운로드합니다(이 바이너리를 다운로드할 때 zombienet 디렉터리에 있는지 확인하세요)
wget https://github.com/paritytech/polkadot/releases/download/v1.0.0/polkadotZombienet 바이너리를 다운로드합니다(이 바이너리를 다운로드할 때 zombienet 디렉터리에 있는지 확인하세요)
wget https://github.com/paritytech/zombienet/releases/download/v1.3.109/zombienet-linux-x64두 바이너리를 실행 가능하게 만듭니다
chmod +x polkadot
chmod +x zombienet-linux-x64Zombienet을 사용하여 XODE 실행
./zombienet-launch.sh