Skip to content

Commit

Permalink
use hydra-offline instead of hydra-cluster
Browse files Browse the repository at this point in the history
  • Loading branch information
disassembler committed Jul 24, 2024
1 parent cd4e0ea commit 00f85e1
Show file tree
Hide file tree
Showing 2 changed files with 40 additions and 6 deletions.
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -8,3 +8,5 @@ state-hydra
Rocket.toml
# nix
result*
*.sk
*.vk
44 changes: 38 additions & 6 deletions flake.nix
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@
hydraDataDir = "state-hydra";
in {
packages = {
inherit (inputs.hydra.packages.${system}) hydra-cluster hydra-tui;
inherit (inputs.hydra.packages.${system}) hydra-cluster hydra-tui hydra-node;
inherit (inputs.cardano-node.packages.${system}) cardano-node cardano-cli bech32;
inherit (inputs.hydra-control-plane.packages.${system}) hydra-control-plane;
inherit (inputs.doom-wasm.packages.${system}) doom-wasm;
Expand All @@ -40,6 +40,33 @@
${lib.getExe config.packages.hydra-cluster} --devnet --publish-hydra-scripts --state-directory ${hydraDataDir}
'';
};
hydra-offline-wrapper = pkgs.writeShellApplication {
name = "hydra-offline-wrapper";
runtimeInputs = [config.packages.cardano-node config.packages.cardano-cli];
text = ''
rm -rf "${hydraDataDir}"
mkdir -p "${hydraDataDir}"
cardano-cli address key-gen --normal-key --verification-key-file admin.vk --signing-key-file admin.sk
pushd ${hydraDataDir}
${lib.getExe config.packages.hydra-node} gen-hydra-key --output-file hydra
curl https://raw.githubusercontent.com/cardano-scaling/hydra/0.17.0/hydra-cluster/config/protocol-parameters.json | jq '.utxoCostPerByte = 0' > protocol-parameters.json
cat > utxo.json << EOF
{
"0000000000000000000000000000000000000000000000000000000000000000#0": {
"address": "$(cardano-cli address build --verification-key-file ../admin.vk --testnet-magic 1)",
"value": {
"lovelace": 1000000000
}
}
}
EOF
${lib.getExe config.packages.hydra-node} offline \
--hydra-signing-key hydra.sk \
--ledger-protocol-parameters protocol-parameters.json \
--initial-utxo utxo.json
popd
'';
};
hydra-doom-wrapper = pkgs.writeShellApplication {
name = "hydra-doom-wrapper";
runtimeInputs = [config.packages.bech32 pkgs.jq pkgs.git pkgs.nodejs];
Expand All @@ -57,7 +84,7 @@
name = "hydra-tui-wrapper";
runtimeInputs = [config.packages.hydra-tui];
text = ''
hydra-tui -k state-hydra/wallet.sk
hydra-tui -k admin.sk
'';
};
hydra-control-plane-wrapper = pkgs.writeShellApplication {
Expand All @@ -71,10 +98,12 @@
{
buildInputs = [
config.packages.hydra-cluster
config.packages.hydra-node
config.packages.hydra-tui
config.packages.cardano-node
config.packages.cardano-cli
config.packages.bech32
config.packages.hydra-offline-wrapper
config.packages.hydra-cluster-wrapper
config.packages.hydra-doom-wrapper
pkgs.nodejs
Expand All @@ -89,20 +118,23 @@
#};

processes = {
hydra-cluster = {
command = config.packages.hydra-cluster-wrapper;
#hydra-cluster = {
# command = config.packages.hydra-cluster-wrapper;
#};
hydra-offline = {
command = config.packages.hydra-offline-wrapper;
};
hydra-doom = {
command = config.packages.hydra-doom-wrapper;
depends_on."hydra-cluster".condition = "process_started";
depends_on."hydra-offline".condition = "process_started";
availability = {
restart = "on_failure";
backoff_seconds = 2;
};
};
hydra-control-plane = {
command = config.packages.hydra-control-plane-wrapper;
depends_on."hydra-cluster".condition = "process_started";
depends_on."hydra-offline".condition = "process_started";
availability = {
restart = "on_failure";
backoff_seconds = 2;
Expand Down

0 comments on commit 00f85e1

Please sign in to comment.