Celestia
О проекте
Стандартные блокчейны объединяют консенсус и исполнение, в то время как Celestia разделяет их. Celestia предоставляет подключаемый уровень консенсуса, позволяющий разработчикам развертывать свои собственные уровни выполнения для работы поверх них. Это обеспечивает большую настраиваемость и суверенитет для приложений, созданных на Celestia.
Данный проект использует двухмерную схему кодирования "reed-solomon" для кодирования блочных данных, таким образом достигается следующее: только небольшой выборки данных достаточно для статистической достоверности того, что весь блок был опубликован. Если данные закодированы неправильно, сеть уведомляется через доказательство мошенничества с доступностью данных.
Сам проект выглядит довольно перспективно. К тому же, когда имеем очередное затишье в сфере нод, почему бы и не поставить, когда можно ставить?
Спонсоры
Всего в проект инвестировано свыше 1.5млн долларов, среди инвесторов часть - ноунеймы, но есть и довольно интересные, например:
Maven 11 capital - крупный инвестор, основное направление - DeFi, помощь проектам на раннем этапе, из их портфолио вам могут быть знакомы 1INCH, Anoma, Chainflip, Nym.
Cryptium labs
Divergence Ventures - 1INCH, Moonbeam, Obol
Binance labs
Примерный список:
Mamaki testnet
# Обновление пакетов и зависимостей sudo apt update && sudo apt upgrade -y sudo apt install curl tar wget clang pkg-config libssl-dev jq build-essential bsdmainutils git make ncdu -y # Установка GO (1.17.2) cd $HOME ver="1.17.2" wget "<https://golang.org/dl/go$ver.linux-amd64.tar.gz>" sudo rm -rf /usr/local/go sudo tar -C /usr/local -xzf "go$ver.linux-amd64.tar.gz" rm "go$ver.linux-amd64.tar.gz" echo "export PATH=$PATH:/usr/local/go/bin:$HOME/go/bin" >> $HOME/.bash_profile source $HOME/.bash_profile go version # Вывод дожен быть следующий: # go version go1.17.2 linux/amd64 cd $HOME git clone <https://github.com/celestiaorg/celestia-app> cd celestia-app git fetch git checkout v0.5.0 make install cd $HOME # Устанавливаем переменные(все, кроме CELESTIA_CHAIN) CELESTIA_CHAIN="mamaki" CELESTIA_NODENAME="YOUR_NODENAME" CELESTIA_WALLET="CELESTIA_WALLET" echo " export CELESTIA_CHAIN=${CELESTIA_CHAIN} export CELESTIA_NODENAME=${CELESTIA_NODENAME} export CELESTIA_WALLET=${CELESTIA_WALLET} " >> $HOME/.bash_profile && source $HOME/.bash_profile # инициация celestia-appd init $CELESTIA_NODENAME --chain-id $CELESTIA_CHAIN celestia-appd config chain-id $CELESTIA_CHAIN celestia-appd config keyring-backend test # установка генезиса wget -O $HOME/.celestia-app/config/genesis.json "<https://github.com/celestiaorg/networks/raw/master/mamaki/genesis.json>" peers=$(curl -sL <https://raw.githubusercontent.com/celestiaorg/networks/master/mamaki/peers.txt> | tr -d '\\n' | head -c -1) && echo $peers sed -i.bak -e "s/^persistent-peers *=.*/persistent-peers = \\"$peers\\"/" $HOME/.celestia-app/config/config.toml sed -i.bak -e "s/^timeout-commit *=.*/timeout-commit = \\"25s\\"/" $HOME/.celestia-app/config/config.toml sed -i.bak -e "s/^skip-timeout-commit *=.*/skip-timeout-commit = false/" $HOME/.celestia-app/config/config.toml sed -i.bak -e "s/^mode *=.*/mode = \\"validator\\"/" $HOME/.celestia-app/config/config.toml sed -i.bak -e "s/^use-legacy *=.*/use-legacy = \\"true\\"/" $HOME/.celestia-app/config/config.toml # генерируем ключи celestia-appd keys add $CELESTIA_WALLET --keyring-backend test # ОБЯЗАТЕЛЬНО СОХРАНЯЕМ МНЕМОНИКУ, КОТОРАЯ ПРИХОДИТ НА ВЫВОД!!! # создаем сервис tee $HOME/celestia-appd.service > /dev/null <<EOF [Unit] Description=CELESTIA MAMAKI After=network-online.target [Service] User=$USER ExecStart=$(which celestia-appd) start Restart=on-failure RestartSec=10 LimitNOFILE=65535 [Install] WantedBy=multi-user.target EOF sudo mv $HOME/celestia-appd.service /etc/systemd/system/ sudo systemctl enable celestia-appd sudo systemctl daemon-reload sudo systemctl restart celestia-appd && journalctl -u celestia-appd -f -o cat # проверяем синк, если в поле "catching_up" значение false, все хорошо # если нет - ждем синхронизации, должно стать false, после идем дальше по пунктам curl localhost:26657/status # Пример адекватного вывода "sync_info": { "latest_block_hash": "DECF3960623E4E42D3F3C6DE25CEC60F8BC0A4067350F3FD37140440AB2BC406", "latest_app_hash": "599EB67FFA303FE5DC71E7F6CB0726C7F670582D989B9C00CD1FC5316F1A07D6", "latest_block_height": "6049", "latest_block_time": "2022-05-25T18:50:07.026333875Z", "earliest_block_hash": "41BBFD05779719E826C4D68C4CCBBC84B2B761EB52BC04CFDE0FF8603C9AA3CA", "earliest_app_hash": "E3B0C44298FC1C149AFBF4C8996FB92427AE41E4649B934CA495991B7852B855", "earliest_block_height": "1", "earliest_block_time": "2022-05-24T13:02:31.713132226Z", "max_peer_block_height": "5957", "catching_up": false, "total_synced_time": "0", "remaining_time": "0", "total_snapshots": "0", "chunk_process_avg_time": "0", "snapshot_height": "0", "snapshot_chunks_count": "0", "snapshot_chunks_total": "0", "backfilled_blocks": "0", "backfill_blocks_total": "0" } # создаем валидатора, на данном этапе переходим # в дискорд проекта и просим токены с фаусета (вкладка faucet) celestia-appd tx staking create-validator \\ --amount=10000000utia \\ --pubkey=$(celestia-appd tendermint show-validator) \\ --moniker=$CELESTIA_NODENAME \\ ~~~~ --chain-id=$CELESTIA_CHAIN \\ --commission-rate=0.1 \\ --commission-max-rate=0.2 \\ --commission-max-change-rate=0.01 \\ --min-self-delegation="1" \\ --from=$CELESTIA_WALLET # проверка валидатора celestia-appd q staking validator <VALOPER_ADDR> # Бэкапим "$HOME/.celestia-app/config/priv_validator_key.json" to your PC!**