Aller au contenu principal

Mamaki Testnet

mamaki-testnet

This guide contains the relevant sections for how to connect to Mamaki, depending on the type of node you are running. Mamaki is a milestone in Celestia, allowing everyone to test out core functionalities on the network. Read the anouncement here.

Your best approach to participating is to first determine which node you would like to run. Each node guides will link to the relevant network in order to show you how to connect to them.

You have a list of options on the type of nodes you can run in order to participate in Mamaki:

Consensus:

Data Availability:

Select the type of node you would like to run and follow the instructions on each respective page. Whenever you are asked to select the type of network you want to connect to in those guides, select Mamaki in order to refer to the correct instructions on this page on how to connect to Mamaki.

RPC endpoints

There is a list of RPC endpoints you can use to connect to Mamaki Testnet:

Mamaki Testnet faucet

USING THIS FAUCET DOES NOT ENTITLE YOU TO ANY AIRDROP OR OTHER DISTRIBUTION OF MAINNET CELESTIA TOKENS. MAINNET CELESTIA TOKENS DO NOT CURRENTLY EXIST AND THERE ARE NO PUBLIC SALES OR OTHER PUBLIC DISTRIBUTIONS OF ANY MAINNET CELESTIA TOKENS.

You can request from Mamaki Testnet Faucet on the #faucet channel on Celestia's Discord server with the following command:

$request <CELESTIA-ADDRESS>

Where <CELESTIA-ADDRESS> is a celestia1****** generated address.

Note: Faucet has a limit of 10 tokens per week per address/Discord ID

Explorers

There are several explorers you can use for Mamaki:

Setup P2P network

Now we will setup the P2P Networks by cloning the networks repository:

cd $HOME
rm -rf networks
git clone https://github.com/celestiaorg/networks.git

To initialize the network pick a "node-name" that describes your node. The --chain-id parameter we are using here is mamaki. Keep in mind that this might change if a new testnet is deployed.

celestia-appd init "node-name" --chain-id mamaki

Copy the genesis.json file. For mamaki we are using:

cp $HOME/networks/mamaki/genesis.json $HOME/.celestia-app/config

Set seeds and peers:

BOOTSTRAP_PEERS=$(curl -sL https://raw.githubusercontent.com/celestiaorg/networks/master/mamaki/bootstrap-peers.txt | tr -d '\n')
echo $BOOTSTRAP_PEERS
sed -i.bak -e "s/^bootstrap-peers *=.*/bootstrap-peers = \"$BOOTSTRAP_PEERS\"/" $HOME/.celestia-app/config/config.toml

Note: You can find more peers here.

Quick-sync with snapshot

Run the following command to quick-sync from a snapshot for mamaki:

cd $HOME
rm -rf ~/.celestia-app/data
mkdir -p ~/.celestia-app/data
SNAP_NAME=$(curl -s https://snaps.qubelabs.io/celestia/ | \
egrep -o ">mamaki.*tar" | tr -d ">")
wget -O - https://snaps.qubelabs.io/celestia/${SNAP_NAME} | tar xf - \
-C ~/.celestia-app/data/

Delegate to a validator

To delegate tokens to the the celestiavaloper validator, as an example you can run:

celestia-appd tx staking delegate \
celestiavaloper1q3v5cugc8cdpud87u4zwy0a74uxkk6u43cv6hd 1000000utia \
--from=$VALIDATOR_WALLET --chain-id=mamaki

If successful, you should see a similar output as:

code: 0
codespace: ""
data: ""
gas_used: "0"
gas_wanted: "0"
height: "0"
info: ""
logs: []
raw_log: '[]'
timestamp: ""
tx: null
txhash: <tx-hash>

You can check if the TX hash went through using the block explorer by inputting the txhash ID that was returned.

Connect validator

Continuing the Validator tutorial, here are the steps to connect your validator to Mamaki:

MONIKER="your_moniker"
VALIDATOR_WALLET="validator"

celestia-appd tx staking create-validator \
--amount=1000000utia \
--pubkey=$(celestia-appd tendermint show-validator) \
--moniker=$MONIKER \
--chain-id=mamaki \
--commission-rate=0.1 \
--commission-max-rate=0.2 \
--commission-max-change-rate=0.01 \
--min-self-delegation=1000000 \
--from=$VALIDATOR_WALLET \
--keyring-backend=test

You will be prompted to confirm the transaction:

confirm transaction before signing and broadcasting [y/N]: y

Inputting y should provide an output similar to:

code: 0
codespace: ""
data: ""
gas_used: "0"
gas_wanted: "0"
height: "0"
info: ""
logs: []
raw_log: '[]'
timestamp: ""
tx: null
txhash: <tx-hash>

You should now be able to see your validator from a block explorer like here