Instalar QORel
QORel es un único binario, qorel. Esta página muestra cada forma de instalarlo y cómo comprobar lo que has descargado. Está dirigida a operadores que montan un relayer en un servidor, un portátil o una plataforma de contenedores. Elige un canal; todos instalan el mismo programa.
Cada versión en GitHub Releases se publica bajo una etiqueta qorel-v<version> (por ejemplo qorel-v0.1.0) e incluye un archivo SHA256SUMS y atestaciones de procedencia de la compilación que puedes comprobar con gh attestation verify <file> --repo qorechain/QORel. Las etiquetas v* simples del repositorio (por ejemplo v0.1.0) son el historial del Hermes original, no versiones de QORel; usa siempre el prefijo qorel-v.
Innovaciones
- Descargas comprobables. Los tarballs están cubiertos por
SHA256SUMSy por atestaciones de compilación, de modo que puedes confirmar tanto que el archivo está íntegro como que se construyó con el flujo de trabajo de publicación del repositorio de QORel. - Una imagen de contenedor firmada. La imagen
ghcr.io/qorechain/qorelestá firmada con firma cosign sin claves (keyless); la firma nombra el flujo de trabajo de publicación del repositorio y puedes verificarla antes de ejecutar la imagen. - Un servicio reforzado en los paquetes. Los
.deby.rpminstalan unqorel.serviceque se ejecuta como su propio usuarioqorelcon su directorio personal en/var/lib/qorel, un umask0077, sin nuevos privilegios, un/tmpprivado, un sistema de solo lectura y acceso de escritura únicamente a/var/lib/qorel. - Imagen distroless pequeña. El contenedor es multiarquitectura (amd64 y arm64), distroless y sin root.
Cómo se usa
| Plataforma | Canales |
|---|---|
| Linux x86_64 o arm64 (glibc 2.28 o posterior: Ubuntu 20.04+, Debian 11+, RHEL, Rocky o Alma 8+, Amazon Linux 2023) | tarball, .deb, .rpm, contenedor, Homebrew |
| macOS Apple Silicon o Intel | tarball, Homebrew |
| Docker o Kubernetes | ghcr.io/qorechain/qorel |
| Cualquier sistema con una cadena de herramientas de Rust | desde el código fuente |
Windows no es compatible (el Hermes original tampoco publica versiones para él); ejecuta el contenedor bajo WSL2.
Tarball de la versión
V=0.1.0
T=x86_64-unknown-linux-gnu # or aarch64-unknown-linux-gnu, aarch64-apple-darwin, x86_64-apple-darwin
curl -LO https://github.com/qorechain/QORel/releases/download/qorel-v$V/qorel-v$V-$T.tar.gz
curl -LO https://github.com/qorechain/QORel/releases/download/qorel-v$V/SHA256SUMS
sha256sum --ignore-missing -c SHA256SUMS # macOS: shasum -a 256 --ignore-missing -c SHA256SUMS
tar -xzf qorel-v$V-$T.tar.gz
sudo install -m 0755 qorel-v$V-$T/qorel /usr/local/bin/qorel
qorel --version
La línea de la suma de comprobación debe imprimir OK para el tarball antes de extraerlo.
Debian, Ubuntu y la familia RHEL
V=0.1.0
sudo apt install ./qorel_${V}_amd64.deb # or arm64
sudo dnf install ./qorel-${V}-1.x86_64.rpm # or aarch64
Descarga primero el paquete de la página de la versión y compruébalo con SHA256SUMS. Los paquetes instalan:
/usr/bin/qorel- un
qorel.servicereforzado, que se ejecuta como el usuarioqorelcon su directorio personal en/var/lib/qorel /etc/qorel/config.example.toml
Después configura el archivo de configuración y las claves como el usuario qorel:
sudo cp /etc/qorel/config.example.toml /etc/qorel/config.toml # edit it
sudo -u qorel qorel --config /etc/qorel/config.toml keys add --chain <chain> --key-name relayer --mnemonic-file <file>
sudo -u qorel qorel --config /etc/qorel/config.toml keys register-pqc --chain qorechain-diana # QoreChain only, once
sudo -u qorel qorel --config /etc/qorel/config.toml health-check
sudo systemctl enable --now qorel
Elimina el archivo de la mnemónica después de keys add. Los archivos de clave se escriben legibles solo por el propietario (0600).
Homebrew (macOS y Linux)
brew install qorechain/tap/qorel
qorel --version
Contenedor
docker run --rm ghcr.io/qorechain/qorel:0.1.0 --version
docker run -d --name qorel --restart unless-stopped \
-v $HOME/.qorel:/home/nonroot/.hermes \
ghcr.io/qorechain/qorel:0.1.0 start
El archivo de configuración (config.toml) y la carpeta keys/ se leen del directorio montado. El directorio debe pertenecer al uid 65532 y tener modo 0700.
Verifica la firma de la imagen antes de ejecutarla:
cosign verify ghcr.io/qorechain/qorel:0.1.0 \
--certificate-identity-regexp 'https://github.com/qorechain/QORel/.github/workflows/qorel-release.yml@refs/tags/qorel-v.*' \
--certificate-oidc-issuer https://token.actions.githubusercontent.com
Desde el código fuente
cargo install --locked --git https://github.com/qorechain/QORel --tag qorel-v0.1.0 ibc-relayer-cli --bin qorel
Esto requiere Rust 1.85, protoc y clang; en Linux también requiere las cabeceras de OpenSSL. Añade --features vendored-openssl para compilar OpenSSL en su lugar.
Comprobar que funciona
qorel --version
qorel --help
qorel keys --help lista add, register-pqc y pqc-status entre los comandos de claves.
Cómo acceder
- Coste. Gratuito; Apache-2.0.
- Cuentas. Ninguna para instalar. Para retransmitir necesitas una cuenta de relayer en cada cadena (consulta Inicio rápido).
- Acceso de red. El host necesita acceso saliente a los endpoints RPC, gRPC y WebSocket de cada cadena que configures.
- Requisitos previos. Para paquetes y tarballs, glibc 2.28 o posterior. Para compilar desde el código fuente, Rust 1.85,
protocyclang.
Dónde se publica
| Canal | Nombre | Versión | Enlace |
|---|---|---|---|
| GitHub Releases | qorel-v0.1.0-<target>.tar.gz, .deb, .rpm, SHA256SUMS | 0.1.0 | versiones de qorechain/QORel |
| Espejo de descargas | download.qore.host/qorel/v0.1.0/<file>, download.qore.host/qorel/latest/<file>, latest.json | 0.1.0 | download.qore.host/qorel/latest.json |
| Homebrew | qorechain/tap/qorel | 0.1.0 | brew install qorechain/tap/qorel |
| Registro de contenedores | ghcr.io/qorechain/qorel | 0.1.0 | docker pull ghcr.io/qorechain/qorel:0.1.0 |
| Código fuente | ibc-relayer-cli, binario qorel | etiqueta qorel-v0.1.0 | github.com/qorechain/QORel |
Límites y problemas conocidos
- Sin compilación para Windows. Usa el contenedor bajo WSL2.
- Prelanzamiento, archivos grandes. La versión 0.1.0 se publica como prelanzamiento (pre-release) de GitHub. Cada archivo de la versión pesa unos 110 MB, porque los binarios todavía no están reducidos con strip. No hay imagen en Docker Hub; usa la imagen de
ghcr.ioindicada arriba. - Fija la versión. Los comandos anteriores usan
0.1.0. Usa la versión que pretendes ejecutar en lugar delatest, y consulta la página de versiones para ver las más recientes. - Un proceso por clave. No ejecutes el servicio del paquete y un contenedor con la misma clave de relayer; dos procesos que firman con la misma clave se pisan los números de secuencia de la cuenta.
- Ubicación del almacén de claves. Los paquetes guardan las claves en
/var/lib/qorel; el contenedor las lee del directorio montado; una instalación con tarball usa~/.hermes/keyssalvo que la configuración definakey_store_folder.
Siguiente: Inicio rápido, Configuración, Ejecución junto a un validador.