Elys is a blockchain built using Cosmos SDK and CometBFT. It is designed to be a fast, scalable, and secure blockchain that can be used to build decentralized applications.
Parameter | Value |
---|---|
Chain Info | See network details here |
Denomination | uelys |
Decimals | 6 (1 elys= 1000000uelys) |
Version | See latest version here |
TestNet RPC Endpoint | https://rpc.testnet.elys.network:443 |
TestNet API Endpoint | https://api.testnet.elys.network:443 |
This guide provides instructions on how to spin up a new localnet using the Elys network for development purposes. Follow these steps to set up your localnet environment.
- Make sure you have
git
,make
, Go environment, andjq
installed on your machine.
-
Clone the Elys Repository
First, clone the Elys repository to your local machine:
git clone https://github.com/elys-network/elys.git
-
Build the Binary
Navigate into the cloned repository and build the binary using:
git tag -f v999.999.999 && make install
This command will install the
elysd
daemon. -
Download the Latest TestNet Snapshot
To get the latest TestNet snapshot available for the Elys network, use the following command to download the latest TestNet snapshot that uses the changes from the
main
branch:rm -rf ~/.elys && curl -o - -L https://snapshots.elys.network/elys-snapshot-main.tar.lz4 | lz4 -c -d - | tar -x -C ~/
-
Spin Up the Localnet
Use the command below to start the localnet:
elysd start
This section provides a step-by-step guide on how to build the Elys Chain binary from the source code using the provided makefile. The makefile automates the build process and generates a binary executable that can be run on your local machine.
Click to expand/collapse
- Clone the Elys chain repository:
git clone https://github.com/elys-network/elys.git
- Navigate to the cloned repository:
cd elys
- Optionally, checkout the specific branch or tag you want to build:
git checkout [version]
- Ensure that you have the necessary dependencies installed. For instance, on Ubuntu you need to install the
make
tool:
sudo apt-get install --yes make
In order to generate proto files, install the dependencies below:
buf
clang-format
protoc-gen-go-cosmos-orm
:go install cosmossdk.io/orm/cmd/protoc-gen-go-cosmos-orm@latest
Then run the following command:
make proto
- Optional: Use RocksDB instead of pebbledb
Ensure that you have RocksDB installed on your machine. On Ubuntu, you can install RocksDB using the following suite of commands:
# set rocks db version
ROCKSDB_VERSION=8.9.1
# install rocks db dependencies
sudo apt install -y libgflags-dev libsnappy-dev zlib1g-dev libbz2-dev liblz4-dev libzstd-dev
# download and extract on /tmp
cd /tmp
wget https://github.com/facebook/rocksdb/archive/refs/tags/v${ROCKSDB_VERSION}.tar.gz
tar -xvf v${ROCKSDB_VERSION}.tar.gz && cd rocksdb-${ROCKSDB_VERSION} || return
# build rocks db
export CXXFLAGS='-Wno-error=deprecated-copy -Wno-error=pessimizing-move -Wno-error=class-memaccess'
make shared_lib
# install rocks db
sudo make install-shared INSTALL_PATH=/usr
# cleanup to save space
rm -rf /tmp/rocksdb-${ROCKSDB_VERSION} /tmp/v${ROCKSDB_VERSION}.tar.gz
In order to build the binary with RocksDB, you need to run the following command:
ROCKSDB=1 make build
Note: RocksDB is only required for Linux machines. For macOS, you can continue without installing RocksDB.
When running ROCKSDB=1 make build
, if you are getting this error:
elysd: error while loading shared libraries: librocksdb.so.8.9: cannot open shared object file: No such file or directory
You might need to set the LD_LIBRARY_PATH
environment variable to the local library path. You can do this by running the following command:
export LD_LIBRARY_PATH=/usr/local/lib
- Run the
make build
command to build the binary:
make build
- The binary will be generated in the
./build
directory. You can run the binary using the following command:
./build/elysd
You can also use the make install
command to install the binary in the bin
directory of your GOPATH
.
The validator guide is accessible here.
The architecture guide is accessible here.
To release a new version of Elys, create and push a new tag with v
prefix. A new draft release with the configured targets will be created.
git tag v0.1
git push origin v0.1
After a draft release is created, make your final changes from the release page and publish it.