Install cardano-node
Điều kiện tiên quyết
Kiểm tra Bản phát hành cardano-node mới nhất và thiết lập nền tảng của bạn:
Bạn sẽ cần:
- Máy chủ x86 ( AMD hoặc Intel ) , Phiên bản Máy ảo hoặc AWS có ít nhất 2 core, 12GB RAM và ít nhất 100 GB dung lượng đĩa trống;
- Phiên bản gần đây của Linux, không phải Windows hoặc MacOS - điều này sẽ giúp chúng tôi cô lập mọi vấn đề phát sinh.
- Đảm bảo rằng bạn đang sử dụng mạng không có tường lửa. Đặc biệt, chúng tôi sẽ sử dụng cổng TCP/IP 3000 và 3001 theo mặc định để thiết lập kết nối với các nút khác, vì vậy điều này sẽ cần phải mở.
Cài đặt phần phụ thuộc
Chúng tôi cần các gói và công cụ sau trên hệ thống Linux của mình để tải xuống mã nguồn và xây dựng nó:
- the version control system
git
, - the
gcc
C-compiler, - C++ support for
gcc
, - developer libraries for the arbitrary precision library
gmp
, - developer libraries for the compression library
zlib
, - developer libraries for
systemd
, - developer libraries for
ncurses
, ncurses
compatibility libraries,- the Haskell build tool
cabal
, - the GHC Haskell compiler.
Nếu chúng tôi đang sử dụng phiên bản AWS chạy Amazon Linux AMI 2 ( xem hướng dẫn AWS để biết cách khởi động và chạy phiên bản đó ) hoặc một hệ thống dựa trên CentOS / RHEL khác, chúng tôi có thể cài đặt các phần phụ thuộc này như sau:
sudo yum update -y
sudo yum install git gcc gcc-c++ tmux gmp-devel make tar wget jq -y
sudo yum install zlib-devel libtool autoconf -y
sudo yum install systemd-devel ncurses-devel ncurses-compat-libs -y
Đối với Debian / Ubuntu, hãy sử dụng cách sau để thay thế:
sudo apt-get update -y
sudo apt-get install build-essential pkg-config libffi-dev libgmp-dev -y
sudo apt-get install libssl-dev libtinfo-dev libsystemd-dev zlib1g-dev -y
sudo apt-get install make g++ tmux git jq wget libncursesw5 libtool autoconf -y
Nếu bạn đang sử dụng phiên bản Linux khác, bạn sẽ cần sử dụng trình quản lý gói phù hợp với nền tảng của mình thay vì yum
hoặc apt-get
và tên của các gói bạn cần cài đặt có thể khác nhau.
Download, unpack, install and update Cabal:
wget https://downloads.haskell.org/~cabal/cabal-install-3.2.0.0/cabal-install-3.2.0.0-x86_64-unknown-linux.tar.xz
tar -xf cabal-install-3.2.0.0-x86_64-unknown-linux.tar.xz
rm cabal-install-3.2.0.0-x86_64-unknown-linux.tar.xz cabal.sig
mkdir -p $HOME/.local/bin
mv cabal $HOME/.local/bin/
xác thực .local/bin là đường dẫn trong PATH
echo $PATH
nếu .local/bin không có trong PATH, Bạn cần làm theo trong file .bashrc
Điều hướng đến thư mục chính của bạn:
cd
Bạn mở file .bashrc với lệnh nano để editor
nano .bashrc
đi xuống dòng cuối cùng
export PATH="$HOME/.local/bin:$PATH"
Chạy lại file .bashrc
source .bashrc
Update cabal
cabal update
Trên đây hướng dẫn cài đặt phiên bản Cabal 3.2.0.0
. Bạn có thể kiểm tra phiên bản bằng cách gõ
cabal --version
Download and install GHC:
Cho hệ thống Debian/Ubuntu:
wget https://downloads.haskell.org/~ghc/8.10.2/ghc-8.10.2-x86_64-deb9-linux.tar.xz
tar -xf ghc-8.10.2-x86_64-deb9-linux.tar.xz
rm ghc-8.10.2-x86_64-deb9-linux.tar.xz
cd ghc-8.10.2
./configure
sudo make install
cd ..
Cho hệ thống CentOS/RHEL:
wget https://downloads.haskell.org/~ghc/8.10.2/ghc-8.10.2-x86_64-centos7-linux.tar.xz
tar -xf ghc-8.10.2-x86_64-centos7-linux.tar.xz
rm ghc-8.10.2-x86_64-centos7-linux.tar.xz
cd ghc-8.10.2
./configure
sudo make install
cd ..
Alternatively, the ghcup tool can be used to install and set several versions of GHC:
curl --proto '=https' --tlsv1.2 -sSf https://get-ghcup.haskell.org | sh
ghcup upgrade
ghcup install <VERSION>
ghcup set <VERSION>
<VERSION>
here could be for example 8.10.2
You can check that your default GHC version has been properly set:
ghc --version
Install Libsodium
export LD_LIBRARY_PATH="/usr/local/lib:$LD_LIBRARY_PATH"
export PKG_CONFIG_PATH="/usr/local/lib/pkgconfig:$PKG_CONFIG_PATH"
git clone https://github.com/input-output-hk/libsodium
cd libsodium
git checkout 66f017f1
./autogen.sh
./configure
make
sudo make install
Download the source code for cardano-node
cd
git clone https://github.com/input-output-hk/cardano-node.git
This creates the folder cardano-node
and downloads the latest source code.
After the download has finished, we can check its content by
ls cardano-node
We change our working directory to the downloaded source code folder:
cd cardano-node
For reproducible builds, we should check out a specific release, a specific "tag". For the Shelley Testnet, we will use tag 1.24.2
, which we can check out as follows:
git fetch --all --tags
git tag
git checkout $(curl -s https://api.github.com/repos/input-output-hk/cardano-node/releases/latest | jq -r .tag_name)
Build and install the node
Now we build and install the node with cabal
, which will take a few minutes the first time you do a build. Later builds will be much faster, because everything that does not change will be cached.
cabal clean
cabal update
cabal build all
Now we can copy the executables files to the .local/bin directory
cp -p dist-newstyle/build/x86_64-linux/ghc-8.10.2/cardano-node-1.24.2/x/cardano-node/build/cardano-node/cardano-node $HOME/.local/bin/
cp -p dist-newstyle/build/x86_64-linux/ghc-8.10.2/cardano-cli-1.24.2/x/cardano-cli/build/cardano-cli/cardano-cli $HOME/.local/bin/
cardano-cli --version
If you need to update to a newer version follow the steps below:
cd cardano-node
git fetch --all --tags
git tag
git checkout tags/<the-tag-you-want>
cabal update
cabal build cardano-node cardano-cli
This is a good time to backup your current binaries (in case you have to revert to an earlier version). Something like this will work:
cd $HOME/.local/bin
mv cardano-cli cardano-cli-backup
mv cardano-node cardano-node-backup
Now copy your newly built binaries to the appropriate directory, with:
cp -p dist-newstyle/build/x86_64-linux/ghc-8.10.2/cardano-node-<NEW VERSION>/x/cardano-node/build/cardano-node/cardano-node $HOME/.local/bin/
cp -p dist-newstyle/build/x86_64-linux/ghc-8.10.2/cardano-cli-<NEW VERSION>/x/cardano-cli/build/cardano-cli/cardano-cli $HOME/.local/bin/
It might be necessary to delete the db
-folder (the database-folder) before running an updated version of the node.