NixOS

Las implementaciones de NixOS pueden usar nuestro módulo para administrar fácilmente su validador. Crea un servicio systemd con una configuración de producción

Precaución

El ejemplo actual aún no admite firmantes remotos. Ampliaremos la guía una vez horcrux se implementa el soporte.

Configuración

A continuación se muestra un ejemplo de configuración.nix que se puede utilizar en la producción.

Precaución

El ejemplo actualmente utiliza git+ssh:// sintaxis en lugar de github: sintaxis porque nuestro repositorio aún no es público. Una vez que lo sea, esto se simplificará. Cuando esto sucede, GIT_LFS_SKIP_SMUDGE tampoco será necesario.

{  inputs = {    nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";    union.url = "git+ssh://git@github.com/unionlabs/union";  };  outputs = { self, nixpkgs, union, ... }:    {      nixosConfigurations.testnet-validator =        let          system = "x86_64-linux";          pkgs = import nixpkgs { inherit system; };        in        nixpkgs.lib.nixosSystem {          inherit system;          modules = [            union.nixosModules.unionvisor            {              system.stateVersion = "23.11";              # Base configuration for openstack-based VPSs              imports = [ "${nixpkgs}/nixos/modules/virtualisation/openstack-config.nix" ];
              # Allow other validators to reach you              networking.firewall.allowedTCPPorts = [ 80 443 26656 26657 ];
              # Unionvisor module configuration              services.unionvisor = {                enable = true;                moniker = "your-testnet-moniker";              };
              # OPTIONAL: Some useful inspection tools for when you SSH into your validator              environment.systemPackages = with pkgs; [                bat                bottom                helix                jq                neofetch                tree              ];            }          ];        };    };}

Luego puede implementar la configuración ejecutando

GIT_LFS_SKIP_SMUDGE=1 nixos-rebuild switch --flake .\#testnet-validator --target-host user@validator.domain -L

Actualización

Para actualizar a versiones más nuevas, simplemente ejecute

nix flake updateGIT_LFS_SKIP_SMUDGE=1 nixos-rebuild switch --flake .\#testnet-validator --target-host user@validator.domain -L

Esto atraerá los últimos cambios a las configuraciones de unión y preparará su nodo para futuras actualizaciones.

Last updated