From 06f220e08d8882ce16411b48fd979258ac37ecb4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?joshcs=2Eeth=20=E1=B5=8D=E1=B5=90?= Date: Sat, 6 Jan 2024 17:23:04 -0500 Subject: [PATCH 01/13] feat: begin updating for testnet version --- scripts/gm/init-testnet.sh | 24 ++++--- tutorials/gm-world-testnet.md | 115 ++++++++++++++++++---------------- 2 files changed, 76 insertions(+), 63 deletions(-) diff --git a/scripts/gm/init-testnet.sh b/scripts/gm/init-testnet.sh index 3e1e7f9b5..6e0f65559 100644 --- a/scripts/gm/init-testnet.sh +++ b/scripts/gm/init-testnet.sh @@ -18,8 +18,8 @@ echo $NAMESPACE # to allow users to interact with Celestia's core network by querying # the node's state and broadcasting transactions on the Celestia # network. This is for Arabica, if using another network, change the RPC. -DA_BLOCK_HEIGHT=$(curl https://rpc-arabica-9.consensus.celestia-arabica.com/block |jq -r '.result.block.header.height') -echo $DA_BLOCK_HEIGHT +DA_BLOCK_HEIGHT=$(curl https://rpc.celestia-arabica-11.com/block | jq -r '.result.block.header.height') +echo -e "\n Your DA_BLOCK_HEIGHT is $DA_BLOCK_HEIGHT \n" # build the gm chain with Rollkit ignite chain build @@ -35,25 +35,31 @@ gmd keys add $KEY_NAME --keyring-backend test gmd keys add $KEY_2_NAME --keyring-backend test # add these as genesis accounts -gmd add-genesis-account $KEY_NAME $TOKEN_AMOUNT --keyring-backend test -gmd add-genesis-account $KEY_2_NAME $TOKEN_AMOUNT --keyring-backend test +gmd genesis add-genesis-account $KEY_NAME $TOKEN_AMOUNT --keyring-backend test +gmd genesis add-genesis-account $KEY_2_NAME $TOKEN_AMOUNT --keyring-backend test # set the staking amounts in the genesis transaction -gmd gentx $KEY_NAME $STAKING_AMOUNT --chain-id $CHAIN_ID --keyring-backend test +gmd genesis gentx $KEY_NAME $STAKING_AMOUNT --chain-id $CHAIN_ID --keyring-backend test # collect genesis transactions -gmd collect-gentxs +gmd genesis collect-gentxs # copy centralized sequencer address into genesis.json # Note: validator and sequencer are used interchangeably here ADDRESS=$(jq -r '.address' ~/.gm/config/priv_validator_key.json) PUB_KEY=$(jq -r '.pub_key' ~/.gm/config/priv_validator_key.json) -jq --argjson pubKey "$PUB_KEY" '. + {"validators": [{"address": "'$ADDRESS'", "pub_key": $pubKey, "power": "1000", "name": "Rollkit Sequencer"}]}' ~/.gm/config/genesis.json > temp.json && mv temp.json ~/.gm/config/genesis.json +jq --argjson pubKey "$PUB_KEY" '.consensus["validators"]=[{"address": "'$ADDRESS'", "pub_key": $pubKey, "power": "1000", "name": "Rollkit Sequencer"}]' ~/.gm/config/genesis.json > temp.json && mv temp.json ~/.gm/config/genesis.json # export the Celestia light node's auth token to allow you to submit # PayForBlobs to Celestia's data availability network # this is for Arabica, if using another network, change the network name -export AUTH_TOKEN=$(celestia light auth write --p2p.network arabica) +export AUTH_TOKEN=$(celestia light auth admin --p2p.network arabica) + +# create a restart-testnet.sh file to restart the chain later +[ -f restart-testnet.sh ] && rm restart-testnet.sh +echo "DA_BLOCK_HEIGHT=$DA_BLOCK_HEIGHT" >> restart-testnet.sh + +echo "gmd start --rollkit.aggregator true --rollkit.da_address=":26650" --rollkit.da_start_height \$DA_BLOCK_HEIGHT --rpc.laddr tcp://127.0.0.1:36657 --p2p.laddr "0.0.0.0:36656" --minimum-gas-prices="0.025stake"" >> restart-testnet.sh # start the chain -gmd start --rollkit.aggregator true --rollkit.da_layer celestia --rollkit.da_config='{"base_url":"http://localhost:26658","timeout":60000000000,"fee":600000,"gas_limit":6000000,"auth_token":"'$AUTH_TOKEN'"}' --rollkit.namespace_id $NAMESPACE --rollkit.da_start_height $DA_BLOCK_HEIGHT \ No newline at end of file +gmd start --rollkit.aggregator true --rollkit.da_address=":26650" --rollkit.da_start_height $DA_BLOCK_HEIGHT --rpc.laddr tcp://127.0.0.1:36657 --p2p.laddr "0.0.0.0:36656" --minimum-gas-prices="0.025stake" \ No newline at end of file diff --git a/tutorials/gm-world-testnet.md b/tutorials/gm-world-testnet.md index 67e983f9d..728d7c49c 100644 --- a/tutorials/gm-world-testnet.md +++ b/tutorials/gm-world-testnet.md @@ -28,9 +28,60 @@ sovereign rollup. An example start command on `arabica-9` would look like this: ```bash -celestia light start --core.ip consensus-full-arabica-9.celestia-arabica.com --p2p.network arabica +celestia light start --p2p.network arabica \ + --core.ip validator-1.celestia-arabica-11.com ``` +#### 🟢 Start your sovereign rollup {#start-your-sovereign-rollup} + +We have a handy `init-testnet.sh` found in this repo +[here](https://github.com/rollkit/docs/tree/main/scripts/gm). + +We can copy it over to our directory with the following commands: + + +```bash +# From inside the `gm` directory +wget https://raw.githubusercontent.com/rollkit/docs/main/scripts/gm/init-testnet.sh +``` + + +This copies over our `init-testnet.sh` script to initialize our +`gm` rollup. + +You can view the contents of the script to see how we +initialize the gm rollup. + +##### Clear previous chain history + +Before starting the rollup, we need to remove the old project folders: + +```bash +rm -r $HOME/go/bin/gmd && rm -rf $HOME/.gm +``` + +##### Set the auth token for your light node + +You will also need to set the auth token for your Celestia light node +before running the rollup. In the terminal that you will run the +`init-testnet.sh` script in, run the following: + +```bash +export AUTH_TOKEN=$(celestia light auth admin --p2p.network arabica) +``` + +##### Start the new chain {#start-the-new-chain} + +Now, you can initialize the script with the following command: + +```bash +bash init-testnet.sh +``` + +With that, we have kickstarted our second `gmd` network! + +## Optional: Add a "GM world" query + ### 💬 Say gm world {#say-gm-world} Now, we're going to get our blockchain to say `gm world!` - in order to do so @@ -159,59 +210,18 @@ func (k Keeper) Gm(goCtx context.Context, req *types.QueryGmRequest) (*types.Que -#### 🟢 Start your sovereign rollup {#start-your-sovereign-rollup} - -We have a handy `init-testnet.sh` found in this repo -[here](https://github.com/rollkit/docs/tree/main/scripts/gm). - -We can copy it over to our directory with the following commands: - - -```bash -# From inside the `gm` directory -wget https://raw.githubusercontent.com/rollkit/docs/main/scripts/gm/init-testnet.sh -``` - - -This copies over our `init-testnet.sh` script to initialize our -`gm` rollup. - -You can view the contents of the script to see how we -initialize the gm rollup. - -##### Clear previous chain history - -Before starting the rollup, we need to remove the old project folders: - -```bash -rm -r $HOME/go/bin/gmd && rm -rf $HOME/.gm -``` - -##### Set the auth token for your light node - -You will also need to set the auth token for your Celestia light node -before running the rollup. In the terminal that you will run the -`init-testnet.sh` script in, run the following: - -```bash -export AUTH_TOKEN=$(celestia light auth admin --p2p.network arabica) -``` - -##### Start the new chain {#start-the-new-chain} - -Now, you can initialize the script with the following command: - -```bash -bash init-testnet.sh -``` - -With that, we have kickstarted our second `gmd` network! - The `query` command has also scaffolded `x/gm/client/cli/query_gm.go` that implements a CLI equivalent of the gm query and mounted this command in `x/gm/client/cli/query.go`. +#### Restart your rollup + +[Restart your rollup](./restart-rollup.md) +so that you can now run it with the gm query. + +#### Query your rollup + In a separate window, run the following command: ```bash @@ -226,13 +236,10 @@ text: gm world! ![gm.png](/gm/gm.png) -Congratulations 🎉 you've successfully built your first rollup and queried it! - -If you're interested in looking at the demo repository -for this tutorial, you can at [https://github.com/rollkit/gm](https://github.com/rollkit/gm). - ## Next steps +Congratulations 🎉 you've successfully built your first rollup and queried it! + In the next tutorial, you'll learn how to post data to Celestia's Mainnet Beta. From 90c0b330503fcc7d30bb2d9a36f803c59d206286 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?joshcs=2Eeth=20=E1=B5=8D=E1=B5=90?= Date: Sat, 6 Jan 2024 17:44:17 -0500 Subject: [PATCH 02/13] feat: script edits for mingasprice --- scripts/gm/init-local.sh | 2 +- scripts/gm/init-testnet.sh | 14 +++++++------- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/scripts/gm/init-local.sh b/scripts/gm/init-local.sh index a39086bf7..7d4121007 100644 --- a/scripts/gm/init-local.sh +++ b/scripts/gm/init-local.sh @@ -84,7 +84,7 @@ jq --argjson pubKey "$PUB_KEY" '.consensus["validators"]=[{"address": "'$ADDRESS [ -f restart-local.sh ] && rm restart-local.sh echo "DA_BLOCK_HEIGHT=$DA_BLOCK_HEIGHT" >> restart-local.sh -echo "gmd start --rollkit.aggregator true --rollkit.da_address=":26650" --rollkit.da_start_height \$DA_BLOCK_HEIGHT --rpc.laddr tcp://127.0.0.1:36657 --p2p.laddr \"0.0.0.0:36656\"" >> restart-local.sh +echo "gmd start --rollkit.aggregator true --rollkit.da_address=":26650" --rollkit.da_start_height \$DA_BLOCK_HEIGHT --rpc.laddr tcp://127.0.0.1:36657 --p2p.laddr \"0.0.0.0:36656\" --minimum-gas-prices="0.025stake"" >> restart-local.sh # start the chain gmd start --rollkit.aggregator true --rollkit.da_address=":26650" --rollkit.da_start_height $DA_BLOCK_HEIGHT --rpc.laddr tcp://127.0.0.1:36657 --p2p.laddr "0.0.0.0:36656" --minimum-gas-prices="0.025stake" diff --git a/scripts/gm/init-testnet.sh b/scripts/gm/init-testnet.sh index 6e0f65559..16bee1f1b 100644 --- a/scripts/gm/init-testnet.sh +++ b/scripts/gm/init-testnet.sh @@ -9,10 +9,6 @@ CHAINFLAG="--chain-id ${CHAIN_ID}" TOKEN_AMOUNT="10000000000000000000000000stake" STAKING_AMOUNT="1000000000stake" -# create a random Namespace ID for your rollup to post blocks to -NAMESPACE=$(openssl rand -hex 8) -echo $NAMESPACE - # query the DA Layer start height, in this case we are querying # an RPC endpoint provided by Celestia Labs. The RPC endpoint is # to allow users to interact with Celestia's core network by querying @@ -21,6 +17,10 @@ echo $NAMESPACE DA_BLOCK_HEIGHT=$(curl https://rpc.celestia-arabica-11.com/block | jq -r '.result.block.header.height') echo -e "\n Your DA_BLOCK_HEIGHT is $DA_BLOCK_HEIGHT \n" +# create a random Namespace ID for your rollup to post blocks to +CELESTIA_NAMESPACE=0000$(openssl rand -hex 8) +echo -e "\n Your CELESTIA_NAMESPACE is $CELESTIA_NAMESPACE \n" + # build the gm chain with Rollkit ignite chain build @@ -53,13 +53,13 @@ jq --argjson pubKey "$PUB_KEY" '.consensus["validators"]=[{"address": "'$ADDRESS # export the Celestia light node's auth token to allow you to submit # PayForBlobs to Celestia's data availability network # this is for Arabica, if using another network, change the network name -export AUTH_TOKEN=$(celestia light auth admin --p2p.network arabica) +export CELESTIA_NODE_AUTH_TOKEN=$(celestia light auth admin --p2p.network arabica) # create a restart-testnet.sh file to restart the chain later [ -f restart-testnet.sh ] && rm restart-testnet.sh echo "DA_BLOCK_HEIGHT=$DA_BLOCK_HEIGHT" >> restart-testnet.sh -echo "gmd start --rollkit.aggregator true --rollkit.da_address=":26650" --rollkit.da_start_height \$DA_BLOCK_HEIGHT --rpc.laddr tcp://127.0.0.1:36657 --p2p.laddr "0.0.0.0:36656" --minimum-gas-prices="0.025stake"" >> restart-testnet.sh +echo "gmd start --rollkit.aggregator true --rollkit.da_address=":26650" --rollkit.da_start_height \$DA_BLOCK_HEIGHT --rpc.laddr tcp://127.0.0.1:36657 --p2p.laddr \"0.0.0.0:36656\" --minimum-gas-prices="0.025stake"" >> restart-testnet.sh # start the chain -gmd start --rollkit.aggregator true --rollkit.da_address=":26650" --rollkit.da_start_height $DA_BLOCK_HEIGHT --rpc.laddr tcp://127.0.0.1:36657 --p2p.laddr "0.0.0.0:36656" --minimum-gas-prices="0.025stake" \ No newline at end of file +gmd start --rollkit.aggregator true --rollkit.da_address=":26650" --rollkit.da_start_height $DA_BLOCK_HEIGHT --rpc.laddr tcp://127.0.0.1:36657 --p2p.laddr "0.0.0.0:36656" --minimum-gas-prices="0.025stake" From bed3306c5f1d7b15ba611816519f1aabecb707c4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?joshcs=2Eeth=20=E1=B5=8D=E1=B5=90?= Date: Sat, 6 Jan 2024 18:23:55 -0500 Subject: [PATCH 03/13] fix: remove ns and auth token --- scripts/gm/init-testnet.sh | 9 --------- tutorials/gm-world-testnet.md | 26 +++++++++++++++++++++----- 2 files changed, 21 insertions(+), 14 deletions(-) diff --git a/scripts/gm/init-testnet.sh b/scripts/gm/init-testnet.sh index 16bee1f1b..11b8c5195 100644 --- a/scripts/gm/init-testnet.sh +++ b/scripts/gm/init-testnet.sh @@ -17,10 +17,6 @@ STAKING_AMOUNT="1000000000stake" DA_BLOCK_HEIGHT=$(curl https://rpc.celestia-arabica-11.com/block | jq -r '.result.block.header.height') echo -e "\n Your DA_BLOCK_HEIGHT is $DA_BLOCK_HEIGHT \n" -# create a random Namespace ID for your rollup to post blocks to -CELESTIA_NAMESPACE=0000$(openssl rand -hex 8) -echo -e "\n Your CELESTIA_NAMESPACE is $CELESTIA_NAMESPACE \n" - # build the gm chain with Rollkit ignite chain build @@ -50,11 +46,6 @@ ADDRESS=$(jq -r '.address' ~/.gm/config/priv_validator_key.json) PUB_KEY=$(jq -r '.pub_key' ~/.gm/config/priv_validator_key.json) jq --argjson pubKey "$PUB_KEY" '.consensus["validators"]=[{"address": "'$ADDRESS'", "pub_key": $pubKey, "power": "1000", "name": "Rollkit Sequencer"}]' ~/.gm/config/genesis.json > temp.json && mv temp.json ~/.gm/config/genesis.json -# export the Celestia light node's auth token to allow you to submit -# PayForBlobs to Celestia's data availability network -# this is for Arabica, if using another network, change the network name -export CELESTIA_NODE_AUTH_TOKEN=$(celestia light auth admin --p2p.network arabica) - # create a restart-testnet.sh file to restart the chain later [ -f restart-testnet.sh ] && rm restart-testnet.sh echo "DA_BLOCK_HEIGHT=$DA_BLOCK_HEIGHT" >> restart-testnet.sh diff --git a/tutorials/gm-world-testnet.md b/tutorials/gm-world-testnet.md index 728d7c49c..257b50c59 100644 --- a/tutorials/gm-world-testnet.md +++ b/tutorials/gm-world-testnet.md @@ -60,14 +60,30 @@ Before starting the rollup, we need to remove the old project folders: rm -r $HOME/go/bin/gmd && rm -rf $HOME/.gm ``` -##### Set the auth token for your light node +##### Run celestia-da -You will also need to set the auth token for your Celestia light node -before running the rollup. In the terminal that you will run the -`init-testnet.sh` script in, run the following: +First you will need to fully sync and fund a light node +on arabica-11, and then use celestia-da to connect +to Rollkit. Your node will not need to be running +when you start celestia-da. + +To start celestia-da, run this: ```bash -export AUTH_TOKEN=$(celestia light auth admin --p2p.network arabica) +docker run -d \ +-e NODE_TYPE=light \ +-e P2P_NETWORK=arabica \ +-p 26650:26650 \ +-p 26658:26658 \ +-p 26659:26659 \ +-v $HOME/.celestia-light-arabica-11/:/home/celestia/.celestia-light-arabica-11/ \ +ghcr.io/rollkit/celestia-da:339de43 \ +celestia-da light start \ +--p2p.network=arabica \ +--da.grpc.namespace=000008e5f679bf7116cb \ +--da.grpc.listen=0.0.0.0:26650 \ +--core.ip validator-1.celestia-arabica-11.com \ +--gateway ``` ##### Start the new chain {#start-the-new-chain} From cece387e62342c4c01282d4c6a6a5045d0511525 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?joshcs=2Eeth=20=E1=B5=8D=E1=B5=90?= Date: Mon, 8 Jan 2024 12:02:15 -0500 Subject: [PATCH 04/13] feat: add both LNs to top section --- tutorials/gm-world-testnet.md | 52 +++++++++++++++++------------------ 1 file changed, 26 insertions(+), 26 deletions(-) diff --git a/tutorials/gm-world-testnet.md b/tutorials/gm-world-testnet.md index 257b50c59..d65e32d5f 100644 --- a/tutorials/gm-world-testnet.md +++ b/tutorials/gm-world-testnet.md @@ -32,6 +32,32 @@ celestia light start --p2p.network arabica \ --core.ip validator-1.celestia-arabica-11.com ``` +#### OR Run celestia-da + +First you will need to fully sync and fund a light node +on arabica-11, and then use celestia-da to connect +to Rollkit. Your node will not need to be running +when you start celestia-da. + +To start celestia-da, run this: + +```bash +docker run -d \ +-e NODE_TYPE=light \ +-e P2P_NETWORK=arabica \ +-p 26650:26650 \ +-p 26658:26658 \ +-p 26659:26659 \ +-v $HOME/.celestia-light-arabica-11/:/home/celestia/.celestia-light-arabica-11/ \ +ghcr.io/rollkit/celestia-da:339de43 \ +celestia-da light start \ +--p2p.network=arabica \ +--da.grpc.namespace=000008e5f679bf7116cb \ +--da.grpc.listen=0.0.0.0:26650 \ +--core.ip validator-1.celestia-arabica-11.com \ +--gateway +``` + #### 🟢 Start your sovereign rollup {#start-your-sovereign-rollup} We have a handy `init-testnet.sh` found in this repo @@ -60,32 +86,6 @@ Before starting the rollup, we need to remove the old project folders: rm -r $HOME/go/bin/gmd && rm -rf $HOME/.gm ``` -##### Run celestia-da - -First you will need to fully sync and fund a light node -on arabica-11, and then use celestia-da to connect -to Rollkit. Your node will not need to be running -when you start celestia-da. - -To start celestia-da, run this: - -```bash -docker run -d \ --e NODE_TYPE=light \ --e P2P_NETWORK=arabica \ --p 26650:26650 \ --p 26658:26658 \ --p 26659:26659 \ --v $HOME/.celestia-light-arabica-11/:/home/celestia/.celestia-light-arabica-11/ \ -ghcr.io/rollkit/celestia-da:339de43 \ -celestia-da light start \ ---p2p.network=arabica \ ---da.grpc.namespace=000008e5f679bf7116cb \ ---da.grpc.listen=0.0.0.0:26650 \ ---core.ip validator-1.celestia-arabica-11.com \ ---gateway -``` - ##### Start the new chain {#start-the-new-chain} Now, you can initialize the script with the following command: From 978c3f1f1b33f1df3930d78b42d76769594ab07f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?joshcs=2Eeth=20=E1=B5=8D=E1=B5=90?= Date: Mon, 8 Jan 2024 13:20:02 -0500 Subject: [PATCH 05/13] feat: use v0.12.1-rc4 for celestia-da --- tutorials/gm-world-testnet.md | 37 ++++++++++++----------------------- 1 file changed, 13 insertions(+), 24 deletions(-) diff --git a/tutorials/gm-world-testnet.md b/tutorials/gm-world-testnet.md index d65e32d5f..63d413316 100644 --- a/tutorials/gm-world-testnet.md +++ b/tutorials/gm-world-testnet.md @@ -4,42 +4,31 @@ This tutorial is under construction. 🏗️ ::: -::: warning -The script for this tutorial is built for Celestia's -[Arabica devnet](https://docs.celestia.org/nodes/arabica-devnet). -::: - ## Deploying to a Celestia testnet This tutorial is part two of the GM world rollup tutorials. In this tutorial, it is expected that you've completed [part one](./gm-world.md) of the tutorial and are familiar with running a local rollup devnet. -### 🪶 Run a Celestia light node {#run-celestia-node} - -Follow instructions to install and start your Celestia data availability -layer light node selecting the Arabica network. You can -find instructions to install and run the node [here](https://docs.celestia.org/nodes/light-node). - -After you have Go and Ignite CLI installed, and your Celestia Light -Node running on your machine, you're ready to build, test, and launch your own -sovereign rollup. - -An example start command on `arabica-9` would look like this: - -```bash -celestia light start --p2p.network arabica \ - --core.ip validator-1.celestia-arabica-11.com -``` +The script for this tutorial is built for Celestia's +[Arabica devnet](https://docs.celestia.org/nodes/arabica-devnet). -#### OR Run celestia-da +### 🪶 Run a Celestia light node {#run-celestia-node} First you will need to fully sync and fund a light node on arabica-11, and then use celestia-da to connect to Rollkit. Your node will not need to be running when you start celestia-da. -To start celestia-da, run this: +Follow instructions to install and start your Celestia data availability +layer light node selecting the Arabica network. You can +[find instructions to install and run the node](https://docs.celestia.org/nodes/light-node). + +After you have Go and Ignite CLI installed, and your Celestia light +node running on your machine, you're ready to build, test, and launch your own +sovereign rollup. + +To start celestia-da and your light node, run this command: ```bash docker run -d \ @@ -49,7 +38,7 @@ docker run -d \ -p 26658:26658 \ -p 26659:26659 \ -v $HOME/.celestia-light-arabica-11/:/home/celestia/.celestia-light-arabica-11/ \ -ghcr.io/rollkit/celestia-da:339de43 \ +ghcr.io/rollkit/celestia-da:v0.12.1-rc4 \ celestia-da light start \ --p2p.network=arabica \ --da.grpc.namespace=000008e5f679bf7116cb \ From 90836ac3135ba3fbdeab025ec3ad8778c7c749d9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?joshcs=2Eeth=20=E1=B5=8D=E1=B5=90?= Date: Tue, 9 Jan 2024 10:51:18 -0500 Subject: [PATCH 06/13] feat: use v0.12.3 --- tutorials/gm-world-testnet.md | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/tutorials/gm-world-testnet.md b/tutorials/gm-world-testnet.md index 63d413316..77d503554 100644 --- a/tutorials/gm-world-testnet.md +++ b/tutorials/gm-world-testnet.md @@ -1,9 +1,5 @@ # GM world rollup: Part two -:::warning -This tutorial is under construction. 🏗️ -::: - ## Deploying to a Celestia testnet This tutorial is part two of the GM world rollup tutorials. In this tutorial, @@ -38,7 +34,7 @@ docker run -d \ -p 26658:26658 \ -p 26659:26659 \ -v $HOME/.celestia-light-arabica-11/:/home/celestia/.celestia-light-arabica-11/ \ -ghcr.io/rollkit/celestia-da:v0.12.1-rc4 \ +ghcr.io/rollkit/celestia-da:v0.12.3 \ celestia-da light start \ --p2p.network=arabica \ --da.grpc.namespace=000008e5f679bf7116cb \ From ad8acb351440b2558b3804254520b26c235ddd4a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?joshcs=2Eeth=20=E1=B5=8D=E1=B5=90?= Date: Tue, 9 Jan 2024 11:25:42 -0500 Subject: [PATCH 07/13] feat: update testnet tutorial --- tutorials/gm-world-testnet.md | 23 +++++++++++++---------- 1 file changed, 13 insertions(+), 10 deletions(-) diff --git a/tutorials/gm-world-testnet.md b/tutorials/gm-world-testnet.md index 77d503554..14197ad7b 100644 --- a/tutorials/gm-world-testnet.md +++ b/tutorials/gm-world-testnet.md @@ -11,20 +11,19 @@ The script for this tutorial is built for Celestia's ### 🪶 Run a Celestia light node {#run-celestia-node} -First you will need to fully sync and fund a light node -on arabica-11, and then use celestia-da to connect -to Rollkit. Your node will not need to be running -when you start celestia-da. - +1. Fully sync and fund a light node +on Arabica devnet (`arabica-11`). Follow instructions to install and start your Celestia data availability layer light node selecting the Arabica network. You can [find instructions to install and run the node](https://docs.celestia.org/nodes/light-node). +After the node is synced, stop the light node. -After you have Go and Ignite CLI installed, and your Celestia light -node running on your machine, you're ready to build, test, and launch your own -sovereign rollup. +2. Use +[`celestia-da`](https://github.com/rollkit/celestia-da) +to connect to Rollkit. Your node does not need to be running +when you start `celestia-da`. -To start celestia-da and your light node, run this command: +To start `celestia-da` and your light node, run this command: ```bash docker run -d \ @@ -43,6 +42,10 @@ celestia-da light start \ --gateway ``` +After you have Go and Ignite CLI installed, and `celestia-da` +running on your machine, you're ready to run your own +sovereign rollup. + #### 🟢 Start your sovereign rollup {#start-your-sovereign-rollup} We have a handy `init-testnet.sh` found in this repo @@ -79,7 +82,7 @@ Now, you can initialize the script with the following command: bash init-testnet.sh ``` -With that, we have kickstarted our second `gmd` network! +With that, we have kickstarted our second `gmd` rollup! ## Optional: Add a "GM world" query From 00a3de927f0cbd13437ca2584be40f49a41b5cc8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?joshcs=2Eeth=20=E1=B5=8D=E1=B5=90?= Date: Tue, 9 Jan 2024 13:02:26 -0500 Subject: [PATCH 08/13] feat: update mainnet testnet tuts --- scripts/gm/init-mainnet.sh | 34 +++++----- tutorials/full-and-sequencer-node.md | 6 +- tutorials/gm-world-mainnet.md | 99 +++++++++++++++++++++------- tutorials/gm-world-testnet.md | 51 +++++++++----- tutorials/gm-world.md | 8 +-- 5 files changed, 137 insertions(+), 61 deletions(-) diff --git a/scripts/gm/init-mainnet.sh b/scripts/gm/init-mainnet.sh index def78cb6a..a3598c445 100644 --- a/scripts/gm/init-mainnet.sh +++ b/scripts/gm/init-mainnet.sh @@ -9,18 +9,13 @@ CHAINFLAG="--chain-id ${CHAIN_ID}" TOKEN_AMOUNT="10000000000000000000000000stake" STAKING_AMOUNT="1000000000stake" -# use a custom namespace ID for your chain -# this example uses "rollkit" in hexadecimal -NAMESPACE=000000726f6c6c6b6974 -echo $NAMESPACE - # query the DA Layer start height, in this case we are querying # an RPC endpoint provided by Celestia Labs. The RPC endpoint is # to allow users to interact with Celestia's core network by querying # the node's state and broadcasting transactions on the Celestia # network. This is for Arabica, if using another network, change the RPC. -DA_BLOCK_HEIGHT=$(curl https://rpc.lunaroasis.net/block |jq -r '.result.block.header.height') -echo $DA_BLOCK_HEIGHT +DA_BLOCK_HEIGHT=$(curl https://rpc.lunaroasis.net/block | jq -r '.result.block.header.height') +echo -e "\n Your DA_BLOCK_HEIGHT is $DA_BLOCK_HEIGHT \n" # build the gm chain with Rollkit ignite chain build @@ -36,19 +31,26 @@ gmd keys add $KEY_NAME --keyring-backend test gmd keys add $KEY_2_NAME --keyring-backend test # add these as genesis accounts -gmd add-genesis-account $KEY_NAME $TOKEN_AMOUNT --keyring-backend test -gmd add-genesis-account $KEY_2_NAME $TOKEN_AMOUNT --keyring-backend test +gmd genesis add-genesis-account $KEY_NAME $TOKEN_AMOUNT --keyring-backend test +gmd genesis add-genesis-account $KEY_2_NAME $TOKEN_AMOUNT --keyring-backend test # set the staking amounts in the genesis transaction -gmd gentx $KEY_NAME $STAKING_AMOUNT --chain-id $CHAIN_ID --keyring-backend test +gmd genesis gentx $KEY_NAME $STAKING_AMOUNT --chain-id $CHAIN_ID --keyring-backend test # collect genesis transactions -gmd collect-gentxs +gmd genesis collect-gentxs + +# copy centralized sequencer address into genesis.json +# Note: validator and sequencer are used interchangeably here +ADDRESS=$(jq -r '.address' ~/.gm/config/priv_validator_key.json) +PUB_KEY=$(jq -r '.pub_key' ~/.gm/config/priv_validator_key.json) +jq --argjson pubKey "$PUB_KEY" '.consensus["validators"]=[{"address": "'$ADDRESS'", "pub_key": $pubKey, "power": "1000", "name": "Rollkit Sequencer"}]' ~/.gm/config/genesis.json > temp.json && mv temp.json ~/.gm/config/genesis.json + +# create a restart-mainnet.sh file to restart the chain later +[ -f restart-mainnet.sh ] && rm restart-mainnet.sh +echo "DA_BLOCK_HEIGHT=$DA_BLOCK_HEIGHT" >> restart-mainnet.sh -# export the Celestia light node's auth token to allow you to submit -# PayForBlobs to Celestia's data availability network -# this is for Arabica, if using another network, change the network name -AUTH_TOKEN=$(celestia light auth write) +echo "gmd start --rollkit.aggregator true --rollkit.da_address=":26650" --rollkit.da_start_height \$DA_BLOCK_HEIGHT --rpc.laddr tcp://127.0.0.1:36657 --p2p.laddr \"0.0.0.0:36656\" --minimum-gas-prices="0.025stake"" >> restart-mainnet.sh # start the chain -gmd start --rollkit.aggregator true --rollkit.da_layer celestia --rollkit.da_config='{"base_url":"http://localhost:26658","timeout":60000000000,"fee":600000,"gas_limit":6000000,"auth_token":"'$AUTH_TOKEN'"}' --rollkit.namespace_id $NAMESPACE --rollkit.da_start_height $DA_BLOCK_HEIGHT --rollkit.lazy_aggregator \ No newline at end of file +gmd start --rollkit.aggregator true --rollkit.da_address=":26650" --rollkit.da_start_height $DA_BLOCK_HEIGHT --rpc.laddr tcp://127.0.0.1:36657 --p2p.laddr "0.0.0.0:36656" --minimum-gas-prices="0.025stake" diff --git a/tutorials/full-and-sequencer-node.md b/tutorials/full-and-sequencer-node.md index 82f6ab532..48e28a25f 100644 --- a/tutorials/full-and-sequencer-node.md +++ b/tutorials/full-and-sequencer-node.md @@ -1,5 +1,9 @@ # Full and sequencer node rollup setup +::: warning +This tutorial is under construction 🏗️ +::: + This guide will cover how to set up the GM world rollup example as a multi-node network using a full and sequencer node. @@ -17,7 +21,7 @@ This is the same way that celestia-node syncs blocks over p2p. First, you'll need to complete the [GM world](./gm-world) tutorial. In this demo, we'll be using the local-celestia-devnet setup used -in [part one](./gm-world). +in [part 1](./gm-world). ## Getting started diff --git a/tutorials/gm-world-mainnet.md b/tutorials/gm-world-mainnet.md index efff62503..1db8ee8a0 100644 --- a/tutorials/gm-world-mainnet.md +++ b/tutorials/gm-world-mainnet.md @@ -1,31 +1,68 @@ -# GM world rollup: Part three +# GM world rollup: Part 3 -:::warning -This tutorial is under construction. 🏗️ -::: - -This tutorial is part three of the GM world rollup tutorials. In this tutorial, -it is expected that you've completed [part one](./gm-world.md) and -[part two](./gm-world-testnet.md) of the tutorial and are +This tutorial is part 3 of the GM world rollup tutorials. In this tutorial, +it is expected that you've completed [part 1](./gm-world.md) and +[part 2](./gm-world-testnet.md) of the tutorial and are familiar with running a local rollup devnet and posting to a Celestia testnet. ## Deploying to Celestia Mainnet Beta -In this section, we will cover how to deploy to Celestia's Mainnet Beta. +### 🪶 Run a Celestia light node {#run-celestia-node} + +1. Fully sync and fund a light node +on Arabica devnet (`arabica-11`). +Follow instructions to install and start your Celestia data availability +layer light node selecting the Arabica network. You can +[find instructions to install and run the node](https://docs.celestia.org/nodes/light-node). +After the node is synced, stop the light node. + +2. Use +[`celestia-da`](https://github.com/rollkit/celestia-da) +to connect to Rollkit. Your node does not need to be running +when you start `celestia-da`. + +To start `celestia-da` and your light node, run this command to +start your Celestia light node with state access +(using the `--core.ip string` flag). This time, on `celestia`, +which is the chain ID for Mainnet Beta: + +```bash +docker run -d \ +-e NODE_TYPE=light \ +-e P2P_NETWORK=celestia \ +-p 26650:26650 \ +-p 26658:26658 \ +-p 26659:26659 \ +-v $HOME/.celestia-light/:/home/celestia/.celestia-light/ \ +ghcr.io/rollkit/celestia-da:v0.12.3 \ +celestia-da light start \ +--p2p.network=celestia \ +--da.grpc.namespace=000000676d776f726c64 \ +--da.grpc.listen=0.0.0.0:26650 \ +--core.ip rpc.celestia.pops.one \ +--gateway +``` + +After you have Go and Ignite CLI installed, and `celestia-da` +running on your machine, you're ready to run your own +sovereign rollup. + +### Clear previous chain history + +Before starting the rollup, we need to remove the old project folders: + +```bash +rm -r $HOME/go/bin/gmd && rm -rf $HOME/.gm +``` + +### Start the rollup on mainnet For this portion, you will need to stop the rollup that you have -running from above using `Control + C` in the terminal. - -1. Start your Celestia light node with state access -(using the `--core.ip string` flag), this time on `celestia`, -which is the chain ID for Mainnet Beta. - - ```bash - celestia light start --core.ip rpc.celestia.pops.one - ``` +running from parts 1 and 2 of the tutorial, +using `Control + C` in the terminal. -2. Download the script for deploying to Celestia's Mainnet Beta: +1. Download the script for deploying to Celestia's Mainnet Beta: ```bash @@ -34,19 +71,35 @@ which is the chain ID for Mainnet Beta. ``` -3. Ensure that the account for your light node is funded. +2. Ensure that the account for your light node is funded. -4. Run the `init-mainnet.sh` script: +3. Run the `init-mainnet.sh` script: ```bash bash init-mainnet.sh ``` -5. Watch as your rollup posts blocks to Celestia! +4. Watch as your rollup posts blocks to Celestia! -To deploy to a different DA layer, modify the script to fit your architecture. +5. View your rollup by +[finding your namespace or account Celenium](https://celenium.io). + +#### Restarting your rollup + +When you ran `init-mainnet.sh`, the script generated a script called +`restart-mainnet.sh` in the `$HOME/gm` directory for you to use to +restart your rollup. + +In order to do so, restart `celestia-da` and then run: + +```bash +bash restart-mainnet.sh +``` ## Next steps +Congratulations! You have a Rollkit rollup running on Celestia's +Mainnet Beta. + If you're interested in setting up a full node alongside your sequencer, see the [Full and sequencer node rollup setup](./full-and-sequencer-node) tutorial. diff --git a/tutorials/gm-world-testnet.md b/tutorials/gm-world-testnet.md index 14197ad7b..0c18da2fe 100644 --- a/tutorials/gm-world-testnet.md +++ b/tutorials/gm-world-testnet.md @@ -1,9 +1,9 @@ -# GM world rollup: Part two +# GM world rollup: Part 2 ## Deploying to a Celestia testnet -This tutorial is part two of the GM world rollup tutorials. In this tutorial, -it is expected that you've completed [part one](./gm-world.md) of +This tutorial is part 2 of the GM world rollup tutorials. In this tutorial, +it is expected that you've completed [part 1](./gm-world.md) of the tutorial and are familiar with running a local rollup devnet. The script for this tutorial is built for Celestia's @@ -46,10 +46,10 @@ After you have Go and Ignite CLI installed, and `celestia-da` running on your machine, you're ready to run your own sovereign rollup. -#### 🟢 Start your sovereign rollup {#start-your-sovereign-rollup} +### 🟢 Start your sovereign rollup {#start-your-sovereign-rollup} -We have a handy `init-testnet.sh` found in this repo -[here](https://github.com/rollkit/docs/tree/main/scripts/gm). +We have +[a handy `init-testnet.sh` found in this repo](https://github.com/rollkit/docs/tree/main/scripts/gm). We can copy it over to our directory with the following commands: @@ -66,7 +66,7 @@ This copies over our `init-testnet.sh` script to initialize our You can view the contents of the script to see how we initialize the gm rollup. -##### Clear previous chain history +#### Clear previous chain history Before starting the rollup, we need to remove the old project folders: @@ -74,7 +74,7 @@ Before starting the rollup, we need to remove the old project folders: rm -r $HOME/go/bin/gmd && rm -rf $HOME/.gm ``` -##### Start the new chain {#start-the-new-chain} +#### Start the new chain {#start-the-new-chain} Now, you can initialize the script with the following command: @@ -82,11 +82,29 @@ Now, you can initialize the script with the following command: bash init-testnet.sh ``` +View your rollup by +[finding your namespace or account an Arabica devnet explorer](https://docs.celestia.org/nodes/arabica-devnet#explorers). + With that, we have kickstarted our second `gmd` rollup! -## Optional: Add a "GM world" query +### Optional: Restarting your rollup + +If you'd like to stop and restart your rollup for development purposes, +you're in luck! + +When you ran `init-mainnet.sh`, the script generated a script called +`restart-mainnet.sh` in the `$HOME/gm` directory for you to use to +restart your rollup. + +In order to do so, restart `celestia-da` and then run: + +```bash +bash restart-mainnet.sh +``` + +### Optional: Add a "GM world" query -### 💬 Say gm world {#say-gm-world} +#### 💬 Say gm world {#say-gm-world} Now, we're going to get our blockchain to say `gm world!` - in order to do so you need to make the following changes: @@ -102,7 +120,7 @@ The `Keeper` is required for each Cosmos SDK module and is an abstraction for modifying the state of the blockchain. Keeper functions allow us to query or write to the state. -#### ✋ Create your first query {#create-first-query} +##### ✋ Create your first query {#create-first-query} **Open a new terminal instance that is not the same that you started the chain in.** @@ -151,7 +169,7 @@ The `Gm` RPC for the `Query` service: * Returns response of type `QueryGmResponse` * The `option` defines the endpoint that is used by gRPC to generate an HTTP API -#### 📨 Query request and response types {#query-request-and-response-types} +##### 📨 Query request and response types {#query-request-and-response-types} In the same file, we will find: @@ -167,7 +185,7 @@ message QueryGmResponse { } ``` -#### 👋 Gm keeper function {#gm-keeper-function} +##### 👋 Gm keeper function {#gm-keeper-function} The `gm/x/gm/keeper/query_gm.go` file contains the `Gm` keeper function that handles the query and returns data. @@ -219,12 +237,11 @@ The `query` command has also scaffolded implements a CLI equivalent of the gm query and mounted this command in `x/gm/client/cli/query.go`. -#### Restart your rollup +##### Restart your rollup -[Restart your rollup](./restart-rollup.md) -so that you can now run it with the gm query. +Restart your rollup by running the `init-testnet.sh` script again. -#### Query your rollup +##### Query your rollup In a separate window, run the following command: diff --git a/tutorials/gm-world.md b/tutorials/gm-world.md index 0be7916a0..163c32644 100644 --- a/tutorials/gm-world.md +++ b/tutorials/gm-world.md @@ -2,7 +2,7 @@ description: Build a sovereign rollup with Ignite CLI, Celestia and Rollkit locally and on a testnet --- -# GM world rollup: Part one +# GM world rollup: Part 1 ## Building a rollup locally @@ -142,7 +142,7 @@ Your cwd: /Users/joshstein Is on Gitpod: false ``` -Your development environment is setup! Now, head to [part one](#part-one). +Your development environment is setup! Now, head to [part 1](#part-one). ## macOS setup @@ -259,7 +259,7 @@ wget is an Internet file retriever: brew install wget ``` -Your development environment is setup! Now, head to [part one](#part-one). +Your development environment is setup! Now, head to [part 1](#part-one). ## Part one @@ -272,7 +272,7 @@ Part one of the tutorial has only been tested on an AMD machine running Ubuntu 2 ::: Whether you're a developer simply testing things on your laptop or using a virtual machine in the cloud, -this process can be done on any machine of your choosing. We tested out the Devnet section (part one) on a machine with the following specs: +this process can be done on any machine of your choosing. We tested out the Devnet section (part 1) on a machine with the following specs: * Memory: 1 GB RAM * CPU: Single Core AMD From 434103ef5561b40df583b4c0ef37d87d42fecb98 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?joshcs=2Eeth=20=E1=B5=8D=E1=B5=90?= Date: Tue, 9 Jan 2024 13:09:16 -0500 Subject: [PATCH 09/13] fix: 1 to one etc. --- .vitepress/config.ts | 6 +++--- tutorials/gm-world.md | 14 +++++++------- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/.vitepress/config.ts b/.vitepress/config.ts index d1dd2326e..4212be1ad 100644 --- a/.vitepress/config.ts +++ b/.vitepress/config.ts @@ -194,9 +194,9 @@ function sidebarHome() { items: [ // { text: 'Starter Rollup with Docker', link: '/tutorials/rollup-docker'}, // { text: 'Starter Rollup', link: '/tutorials/starter-rollup'}, - { text: 'GM world rollup: Part one, local devnet', link: '/tutorials/gm-world'}, - { text: 'GM world rollup: Part two, testnet', link: '/tutorials/gm-world-testnet'}, - { text: 'GM world rollup: Part three, mainnet', link: '/tutorials/gm-world-mainnet'}, + { text: 'GM world rollup: Part 1, local devnet', link: '/tutorials/gm-world'}, + { text: 'GM world rollup: Part 2, testnet', link: '/tutorials/gm-world-testnet'}, + { text: 'GM world rollup: Part 3, mainnet', link: '/tutorials/gm-world-mainnet'}, { text: 'GM world frontend', link: '/tutorials/gm-world-frontend'}, { text: 'Recipe Book rollup', link: '/tutorials/recipe-book'}, { text: 'How to restart your rollup', link: '/tutorials/restart-rollup'}, diff --git a/tutorials/gm-world.md b/tutorials/gm-world.md index 163c32644..bd8fbb885 100644 --- a/tutorials/gm-world.md +++ b/tutorials/gm-world.md @@ -17,9 +17,9 @@ and posting data to Celestia. First, we will test on a local DA network, then to a live testnet, and lastly to mainnet. -1. Part one (This page): Run your rollup and post DA to a local devnet, and make sure everything works as expected. -2. [Part two](./gm-world-testnet.md): Deploy the rollup, posting to a DA testnet. Confirm again that everything is functioning properly. -3. [Part three](./gm-world-mainnet.md): Deploy your rollup to the DA layer's mainnet. +1. Part 1 (This page): Run your rollup and post DA to a local devnet, and make sure everything works as expected. +2. [Part 2](./gm-world-testnet.md): Deploy the rollup, posting to a DA testnet. Confirm again that everything is functioning properly. +3. [Part 3](./gm-world-mainnet.md): Deploy your rollup to the DA layer's mainnet. The [Cosmos SDK](https://github.com/cosmos/cosmos-sdk) is a framework for building blockchain applications. The Cosmos Ecosystem uses @@ -142,7 +142,7 @@ Your cwd: /Users/joshstein Is on Gitpod: false ``` -Your development environment is setup! Now, head to [part 1](#part-one). +Your development environment is setup! Now, head to [part 1](#part-1). ## macOS setup @@ -259,16 +259,16 @@ wget is an Internet file retriever: brew install wget ``` -Your development environment is setup! Now, head to [part 1](#part-one). +Your development environment is setup! Now, head to [part 1](#part-1). -## Part one +## Part 1 This part of the tutorial will teach developers how to easily run a local data availability (DA) devnet on their own machine (or in the cloud). **Running a local devnet for DA to test your rollup is the recommended first step before deploying to a testnet.** This eliminates the need for testnet tokens and deploying to a testnet until you are ready. ::: warning -Part one of the tutorial has only been tested on an AMD machine running Ubuntu 22.10 x64. +Part 1 of the tutorial has only been tested on an AMD machine running Ubuntu 22.10 x64. ::: Whether you're a developer simply testing things on your laptop or using a virtual machine in the cloud, From a5a359777753f8bfbfff9961f566ebbcc964f1a6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?joshcs=2Eeth=20=E1=B5=8D=E1=B5=90?= Date: Tue, 9 Jan 2024 13:24:00 -0500 Subject: [PATCH 10/13] feat: update mainnet/testnet --- tutorials/gm-world-mainnet.md | 39 +++++++++++++++++------------------ tutorials/gm-world-testnet.md | 4 +--- 2 files changed, 20 insertions(+), 23 deletions(-) diff --git a/tutorials/gm-world-mainnet.md b/tutorials/gm-world-mainnet.md index 1db8ee8a0..2b04d0a63 100644 --- a/tutorials/gm-world-mainnet.md +++ b/tutorials/gm-world-mainnet.md @@ -22,27 +22,26 @@ After the node is synced, stop the light node. to connect to Rollkit. Your node does not need to be running when you start `celestia-da`. -To start `celestia-da` and your light node, run this command to -start your Celestia light node with state access -(using the `--core.ip string` flag). This time, on `celestia`, -which is the chain ID for Mainnet Beta: + Run this command to start celestia-da and your Celestia + light node with state access (using the `--core.ip string` flag). + This time, on `celestia`, which is the chain ID for Mainnet Beta: -```bash -docker run -d \ --e NODE_TYPE=light \ --e P2P_NETWORK=celestia \ --p 26650:26650 \ --p 26658:26658 \ --p 26659:26659 \ --v $HOME/.celestia-light/:/home/celestia/.celestia-light/ \ -ghcr.io/rollkit/celestia-da:v0.12.3 \ -celestia-da light start \ ---p2p.network=celestia \ ---da.grpc.namespace=000000676d776f726c64 \ ---da.grpc.listen=0.0.0.0:26650 \ ---core.ip rpc.celestia.pops.one \ ---gateway -``` + ```bash + docker run -d \ + -e NODE_TYPE=light \ + -e P2P_NETWORK=celestia \ + -p 26650:26650 \ + -p 26658:26658 \ + -p 26659:26659 \ + -v $HOME/.celestia-light/:/home/celestia/.celestia-light/ \ + ghcr.io/rollkit/celestia-da:v0.12.3 \ + celestia-da light start \ + --p2p.network=celestia \ + --da.grpc.namespace=000000676d776f726c64 \ + --da.grpc.listen=0.0.0.0:26650 \ + --core.ip rpc.celestia.pops.one \ + --gateway + ``` After you have Go and Ignite CLI installed, and `celestia-da` running on your machine, you're ready to run your own diff --git a/tutorials/gm-world-testnet.md b/tutorials/gm-world-testnet.md index 0c18da2fe..8e6086a70 100644 --- a/tutorials/gm-world-testnet.md +++ b/tutorials/gm-world-testnet.md @@ -21,9 +21,7 @@ After the node is synced, stop the light node. 2. Use [`celestia-da`](https://github.com/rollkit/celestia-da) to connect to Rollkit. Your node does not need to be running -when you start `celestia-da`. - -To start `celestia-da` and your light node, run this command: +when you start `celestia-da`. To start `celestia-da` and your light node, run this command: ```bash docker run -d \ From 5f2c83dd2a30ef12af35e88904b77502f7974eda Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?joshcs=2Eeth=20=E1=B5=8D=E1=B5=90?= Date: Tue, 9 Jan 2024 14:18:18 -0500 Subject: [PATCH 11/13] feat: add construction signs --- tutorials/cosmwasm.md | 4 ++++ tutorials/full-and-sequencer-node.md | 2 +- tutorials/polaris-evm.md | 4 ++++ tutorials/recipe-book.md | 4 ++++ tutorials/wordle.md | 4 ++++ 5 files changed, 17 insertions(+), 1 deletion(-) diff --git a/tutorials/cosmwasm.md b/tutorials/cosmwasm.md index 629b49cd6..f21d297f7 100644 --- a/tutorials/cosmwasm.md +++ b/tutorials/cosmwasm.md @@ -1,5 +1,9 @@ # 🗞️ CosmWasm rollup +::: warning +This tutorial is under construction. 🏗️ +::: + CosmWasm is a smart contracting platform built for the Cosmos ecosystem by making use of [WebAssembly](https://webassembly.org) (Wasm) to build smart contracts for Cosmos-SDK. In this tutorial, we will be diff --git a/tutorials/full-and-sequencer-node.md b/tutorials/full-and-sequencer-node.md index 48e28a25f..8c43706d6 100644 --- a/tutorials/full-and-sequencer-node.md +++ b/tutorials/full-and-sequencer-node.md @@ -1,7 +1,7 @@ # Full and sequencer node rollup setup ::: warning -This tutorial is under construction 🏗️ +This tutorial is under construction. 🏗️ ::: This guide will cover how to set up the GM world rollup example as diff --git a/tutorials/polaris-evm.md b/tutorials/polaris-evm.md index a028b153b..9a7e06f63 100644 --- a/tutorials/polaris-evm.md +++ b/tutorials/polaris-evm.md @@ -1,5 +1,9 @@ # Polaris EVM and Rollkit +::: warning +This tutorial is under construction. 🏗️ +::: + This tutorial provides step-by-step instructions for running the [Polaris EVM](https://github.com/berachain/polaris) using Rollkit. Polaris EVM is a version of the diff --git a/tutorials/recipe-book.md b/tutorials/recipe-book.md index d70a384c0..ba1d7a750 100644 --- a/tutorials/recipe-book.md +++ b/tutorials/recipe-book.md @@ -1,5 +1,9 @@ # 🥗 Recipe Book rollup +::: warning +This tutorial is under construction. 🏗️ +::: + ## 📖 Overview {#overview} In this tutorial, we are going to build a blockchain diff --git a/tutorials/wordle.md b/tutorials/wordle.md index f07c9f18b..e64d19bfa 100644 --- a/tutorials/wordle.md +++ b/tutorials/wordle.md @@ -1,5 +1,9 @@ # 🕹️ Wordle app +::: warning +This tutorial is under construction. 🏗️ +::: + ![wordle-app](/wordle/wordle.png) This tutorial guide will go over building a cosmos-sdk app From 681cbbd7a2c3b3343664b40dce301b88d59e35ac Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?joshcs=2Eeth=20=E1=B5=8D=E1=B5=90?= Date: Tue, 9 Jan 2024 14:20:08 -0500 Subject: [PATCH 12/13] feat: add gmworld namespace --- tutorials/gm-world-mainnet.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/tutorials/gm-world-mainnet.md b/tutorials/gm-world-mainnet.md index 2b04d0a63..132cf97e9 100644 --- a/tutorials/gm-world-mainnet.md +++ b/tutorials/gm-world-mainnet.md @@ -83,6 +83,8 @@ using `Control + C` in the terminal. 5. View your rollup by [finding your namespace or account Celenium](https://celenium.io). +[View the example rollup's namespace on Celenium](https://celenium.io/namespace/000000000000000000000000000000000000000000676d776f726c64). + #### Restarting your rollup When you ran `init-mainnet.sh`, the script generated a script called From 3dbe0bd009b1c7321b6a8754e205056365562998 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?joshcs=2Eeth=20=E1=B5=8D=E1=B5=90?= Date: Tue, 9 Jan 2024 15:38:32 -0500 Subject: [PATCH 13/13] feat: add helper for namespaces and context to what they are in docs resolves remainder of #282 Co-Authored-By: Daniel Olshansky --- tutorials/gm-world-mainnet.md | 13 +++++++++++++ tutorials/gm-world-testnet.md | 13 +++++++++++++ 2 files changed, 26 insertions(+) diff --git a/tutorials/gm-world-mainnet.md b/tutorials/gm-world-mainnet.md index 132cf97e9..9314d9912 100644 --- a/tutorials/gm-world-mainnet.md +++ b/tutorials/gm-world-mainnet.md @@ -43,6 +43,19 @@ when you start `celestia-da`. --gateway ``` + :::tip + You can either use the default `000000676d776f726c64`, "gmworld" in + plaintext, namespace above, or set your own by using a command + similar to this: + + ```bash + NAMESPACE_ID=$(echo -n $NAMESPACE_NAME | openssl dgst -sha256 -binary | head -c | xxd -p)" + ``` + + [Learn more about namespaces](https://celestiaorg.github.io/celestia-app/specs/namespace.html) + + ::: + After you have Go and Ignite CLI installed, and `celestia-da` running on your machine, you're ready to run your own sovereign rollup. diff --git a/tutorials/gm-world-testnet.md b/tutorials/gm-world-testnet.md index 8e6086a70..baa70d189 100644 --- a/tutorials/gm-world-testnet.md +++ b/tutorials/gm-world-testnet.md @@ -40,6 +40,19 @@ celestia-da light start \ --gateway ``` +:::tip +You can either use the default `000008e5f679bf7116cb` +namespace above, or set your own by using a command +similar to this: + +```bash +NAMESPACE_ID=$(echo -n $NAMESPACE_NAME | openssl dgst -sha256 -binary | head -c 10 | xxd -p)" +``` + +[Learn more about namespaces](https://celestiaorg.github.io/celestia-app/specs/namespace.html) +. +::: + After you have Go and Ignite CLI installed, and `celestia-da` running on your machine, you're ready to run your own sovereign rollup.