Skip to content

Commit

Permalink
feat(devnet): cosmos-hub node; and relay cosmos-hub/neutron, cosmos-h…
Browse files Browse the repository at this point in the history
…ub/osmosis, cosmos-hub/centauri, neutron/centauri (#4365)

Signed-off-by: dzmitry-lahoda <dzmitry@lahoda.pro>
  • Loading branch information
dzmitry-lahoda authored Dec 4, 2023
1 parent da7fbe4 commit d9bc27f
Show file tree
Hide file tree
Showing 16 changed files with 1,436 additions and 1,041 deletions.
64 changes: 41 additions & 23 deletions flake.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

7 changes: 2 additions & 5 deletions flake.nix
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@
};
cosmos = {
url =
"github:dzmitry-lahoda-forks/cosmos.nix/17f8112536eeca482e567b70bfd1dd2e8ba7265f";
"github:dzmitry-lahoda-forks/cosmos.nix/e398b4dc9fa8e44c9201d3285eb2818116c0b9d3";
inputs.sbt-derivation.follows = "sbt-derivation";
inputs.nixpkgs.follows = "nixpkgs";
inputs.rust-overlay.follows = "rust-overlay";
Expand Down Expand Up @@ -110,15 +110,13 @@
"https://composable.cachix.org"
"https://cosmos.cachix.org"
"https://devenv.cachix.org"
"https://nix-community.cachix.org"
"https://nixpkgs-update.cachix.org"
];
extra-trusted-public-keys = [
"composable.cachix.org-1:J2TVJKH4U8xqYdN/0SpauoAxLuDYeheJtv22Vn3Hav8="
"cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY="
"cosmos.cachix.org-1:T5U9yg6u2kM48qAOXHO/ayhO8IWFnv0LOhNcq0yKuR8="
"devenv.cachix.org-1:w1cLUi8dv3hnoSPGAuibQv+f9TZLr6cv/Hm9XgU50cw="
"nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs="
"nixpkgs-update.cachix.org-1:6y6Z2JdoL3APdu6/+Iy8eZX2ajf09e4EE9SnxSML1W8="
];
};
Expand All @@ -145,10 +143,9 @@
./flake/dev-shells.nix
./flake/devnet-tools.nix
./flake/devnet.nix
./flake/docker.nix
./flake/ethereum.nix
./flake/fmt.nix
./flake/hermes.nix
./flake/cosmos/hermes.nix
./flake/home-configurations.nix
./flake/ibc.nix
./flake/live.nix
Expand Down
82 changes: 80 additions & 2 deletions flake/cosmos/cosmos-hub.nix
Original file line number Diff line number Diff line change
@@ -1,15 +1,93 @@
{ self, ... }: {
perSystem = { self', pkgs, systemCommonRust, subnix, lib, system, devnetTools
, cosmosTools, bashTools, ... }:
let devnet-root-directory = cosmosTools.devnet-root-directory;
let
devnet-root-directory = cosmosTools.devnet-root-directory;
devnet = pkgs.networksLib.cosmos-hub.devnet;
in {

packages = rec {
gaiad = pkgs.writeShellApplication {
name = "gaiad";
runtimeInputs = devnetTools.withBaseContainerTools;
text = ''
${self.inputs.cosmos.packages.${system}.gaia}/bin/gaiad "$@"
${self.inputs.cosmos.packages.${system}.gaia14}/bin/gaiad "$@"
'';
};

cosmos-hub-start = pkgs.writeShellApplication {
name = "cosmos-hub-start";
runtimeInputs = devnetTools.withBaseContainerTools
++ [ gaiad pkgs.jq ];
text = ''
${bashTools.export devnet}
$BINARY start --log_level debug --log_format json --home "$CHAIN_DIR" --pruning=nothing --trace --p2p.pex false --p2p.upnp false --p2p.seed_mode true --log_level trace 2>&1 | tee "$CHAIN_DIR/$CHAIN_ID.log"
'';
};

cosmos-hub-gen = pkgs.writeShellApplication {
name = "cosmos-hub-gen";
runtimeInputs = devnetTools.withBaseContainerTools
++ [ gaiad pkgs.jq ];
text = ''
${bashTools.export devnet}
${bashTools.export pkgs.networksLib.devnet.mnemonics}
if test "''${1-fresh}" == "fresh"; then
if pgrep "^gaiad$"; then
killall "$BINARY"
fi
rm -rf "$CHAIN_DATA"
fi
mkdir --parents "$CHAIN_DATA"
$BINARY init test --home "$CHAIN_DIR" --chain-id="$CHAIN_ID"
echo "$VAL_MNEMONIC_1" | $BINARY keys add val1 --home "$CHAIN_DIR" --recover --keyring-backend=test
echo "$VAL_MNEMONIC_2" | $BINARY keys add val2 --home "$CHAIN_DIR" --recover --keyring-backend=test
echo "$DEMO_MNEMONIC_1" | $BINARY keys add demowallet1 --home "$CHAIN_DIR" --recover --keyring-backend=test
echo "$DEMO_MNEMONIC_2" | $BINARY keys add demowallet2 --home "$CHAIN_DIR" --recover --keyring-backend=test
echo "$DEMO_MNEMONIC_3" | $BINARY keys add demowallet3 --home "$CHAIN_DIR" --recover --keyring-backend=test
echo "$RLY_MNEMONIC_1" | $BINARY keys add rly1 --home "$CHAIN_DIR" --recover --keyring-backend=test
echo "$RLY_MNEMONIC_2" | $BINARY keys add rly2 --home "$CHAIN_DIR" --recover --keyring-backend=test
$BINARY add-genesis-account "$($BINARY --home "$CHAIN_DIR" keys show val1 --keyring-backend test -a --home "$CHAIN_DIR")" "100000000000000$STAKEDENOM" --home "$CHAIN_DIR"
$BINARY add-genesis-account "$($BINARY --home "$CHAIN_DIR" keys show val2 --keyring-backend test -a --home "$CHAIN_DIR")" "100000000000000$STAKEDENOM" --home "$CHAIN_DIR"
$BINARY add-genesis-account "$($BINARY --home "$CHAIN_DIR" keys show demowallet1 --keyring-backend test -a --home "$CHAIN_DIR")" "100000000000000$STAKEDENOM" --home "$CHAIN_DIR"
$BINARY add-genesis-account "$($BINARY --home "$CHAIN_DIR" keys show demowallet2 --keyring-backend test -a --home "$CHAIN_DIR")" "100000000000000$STAKEDENOM" --home "$CHAIN_DIR"
$BINARY add-genesis-account "$($BINARY --home "$CHAIN_DIR" keys show demowallet3 --keyring-backend test -a --home "$CHAIN_DIR")" "100000000000000$STAKEDENOM" --home "$CHAIN_DIR"
$BINARY add-genesis-account "$($BINARY --home "$CHAIN_DIR" keys show rly1 --keyring-backend test -a --home "$CHAIN_DIR")" "100000000000000$STAKEDENOM" --home "$CHAIN_DIR"
$BINARY add-genesis-account "$($BINARY --home "$CHAIN_DIR" keys show rly2 --keyring-backend test -a --home "$CHAIN_DIR")" "100000000000000$STAKEDENOM" --home "$CHAIN_DIR"
sed -i -e 's/timeout_commit = "5s"/timeout_commit = "1s"/g' "$CHAIN_DIR/config/config.toml"
sed -i -e 's/timeout_propose = "3s"/timeout_propose = "1s"/g' "$CHAIN_DIR/config/config.toml"
sed -i -e 's/index_all_keys = false/index_all_keys = true/g' "$CHAIN_DIR/config/config.toml"
sed -i -e 's/enable = false/enable = true/g' "$CHAIN_DIR/config/app.toml"
sed -i -e 's/swagger = false/swagger = true/g' "$CHAIN_DIR/config/app.toml"
sed -i -e "s/minimum-gas-prices = \"\"/minimum-gas-prices = \"0.0025$STAKEDENOM\"/g" "$CHAIN_DIR/config/app.toml"
sed -i -e 's/enabled = false/enabled = true/g' "$CHAIN_DIR/config/app.toml"
sed -i -e 's/prometheus-retention-time = 0/prometheus-retention-time = 1000/g' "$CHAIN_DIR/config/app.toml"
dasel put --type string --file "$CONFIG_FOLDER/app.toml" --value "0.0.0.0:$GRPCPORT" '.grpc.address'
dasel put --type string --file "$CONFIG_FOLDER/app.toml" --value "0.0.0.0:$GRPCWEB" '.grpc-web.address'
dasel put --type string --file "$CONFIG_FOLDER/app.toml" --value "0.0.0.0:$ROSETTA_PORT" '.rosetta.address'
dasel put --type string --file "$CONFIG_FOLDER/app.toml" --value "tcp://0.0.0.0:$RESTPORT" '.api.address'
dasel put --type string --file "$CONFIG_FOLDER/client.toml" --value "tcp://localhost:$GRPCPORT" '.node'
dasel put --type string --file "$CONFIG_FOLDER/config.toml" --value "tcp://0.0.0.0:$CONSENSUS_GRPC_PORT" '.rpc.grpc_laddr'
dasel put --type string --file "$CONFIG_FOLDER/config.toml" --value "tcp://0.0.0.0:$P2PPORT" '.p2p.laddr'
dasel put --type string --file "$CONFIG_FOLDER/config.toml" --value "tcp://0.0.0.0:$CONSENSUS_RPC_PORT" '.rpc.laddr'
GENESIS_FILE="$CHAIN_DIR/config/genesis.json"
sed -i -e "s/\"denom\": \"stake\",/\"denom\": \"$STAKEDENOM\",/g" "$GENESIS_FILE"
sed -i -e "s/\"mint_denom\": \"stake\",/\"mint_denom\": \"$STAKEDENOM\",/g" "$GENESIS_FILE"
sed -i -e "s/\"bond_denom\": \"stake\"/\"bond_denom\": \"$STAKEDENOM\"/g" "$GENESIS_FILE"
sed -i -e 's/enabled-unsafe-cors = false/enabled-unsafe-cors = true/g' "$CHAIN_DIR/config/app.toml"
$BINARY gentx val1 "7000000000$STAKEDENOM" --home "$CHAIN_DIR" --chain-id "$CHAIN_ID" --keyring-backend test
$BINARY collect-gentxs --home "$CHAIN_DIR"
sed -i -e 's/\"allow_messages\":.*/\"allow_messages\": [\"\/cosmos.bank.v1beta1.MsgSend\", \"\/cosmos.staking.v1beta1.MsgDelegate\", \"\/cosmos.staking.v1beta1.MsgUndelegate\"]/g' "$CHAIN_DIR/config/genesis.json"
'';
};
};
Expand Down
Loading

0 comments on commit d9bc27f

Please sign in to comment.