Siga las instrucciones aquí para ejecutar su propio Sui Full.
Requisitos de hardware#
Hardware mínimo sugerido para ejecutar un nodo Sui Full:
- CPU: 8 núcleos físicos / 16 vCPU
- RAM: 128GB
- Almacenamiento (SSD): unidad NVMe de 2 TB
Requisitos de software#
Sui recomienda ejecutar los nodos completos de Sui en Linux. Sui es compatible con Ubuntu y
Distribuciones Debian. También puede ejecutar un nodo Sui Full en macOS.
Asegúrate de actualizar Rust.
Use el siguiente comando para instalar dependencias de Linux adicionales.
plain textsudo apt-obtener actualización \\ && sudo apt-get install -y --no-install-recomienda \\ tzdata \\ libprotobuf-dev \\ ca-certificados \\ construir-esencial \\ libssl-dev \\ libclang-dev \\ pkg-config \\ abressl \\ protobuf-compilador \\ git \\ sonido metálico \\ hacer
Configurar un nodo completo#
Puede configurar un nodo Sui Full ya sea usando Docker o construyendo desde
fuente.
Usando Docker Compose#
Siga las instrucciones en el Léame de Docker de nodo completo para ejecutar un nodo completo de Sui usando Docker, incluido restablecer el entorno.
Configuración de un repositorio Sui local#
Debe obtener los archivos fuente más recientes del repositorio de Sui GitHub.
- Configura tu bifurcación del repositorio Sui:
- Vaya al repositorio Sui en GitHub y haga clic en el botón Fork en la esquina superior derecha de la pantalla.
- Clone su bifurcación personal del repositorio Sui en su máquina local (asegúrese de insertar su nombre de usuario de GitHub en la URL):
plain textclon de git <https://github.com/><SU-NOMBRE-DE-USUARIO-GITHUB>/sui.git
cd
en su repositoriosui
:
plain textcd sui
- Configure el repositorio de Sui como un control remoto de git:
plain textgit remote add upstream <https://github.com/MystenLabs/sui>
- Sincroniza tu bifurcación:
plain textgit buscar aguas arriba
- Consulte la rama asociada con la versión de red que desea ejecutar (por ejemplo,
devnet
para ejecutar un nodo completo de Devnet):
plain textgit checkout --track upstream/<NOMBRE-SUCURSAL>
Configuración de un nodo completo desde el origen#
Abra una Terminal o Consola en el directorio
sui
que descargó en los pasos anteriores para completar lo siguiente:- Instale los [Requisitos previos] necesarios (https://docs.sui.io/build/install#prerequisites).
- Haga una copia de la [plantilla YAML de nodo completo] (https://github.com/MystenLabs/sui/blob/main/crates/sui-config/data/fullnode-template.yaml):
plain textcp crates/sui-config/data/fullnode-template.yaml fullnode.yaml
- Descargue el blob de génesis para que lo use la red:
- [Blob de génesis de Devnet] (https://github.com/MystenLabs/sui-genesis/raw/main/devnet/genesis.blob):
- [Blob de génesis de Mainnet] (https://github.com/MystenLabs/sui-genesis/raw/main/mainnet/genesis.blob)
plain textcurl -fLJO <https://github.com/MystenLabs/sui-genesis/raw/main/devnet/genesis.blob>
plain textcurl -fLJO <https://github.com/MystenLabs/sui-genesis/raw/main/testnet/genesis.blob>
plain textcurl -fLJO <https://github.com/MystenLabs/sui-genesis/raw/main/mainnet/genesis.blob>
- Solo nodos completos de Testnet: edite el archivo
fullnode.yaml
para incluir nodos pares para la sincronización de estado. Agregue lo siguiente al final de la configuración actual:
plain textp2p-config: semillas-pares: - dirección: /dns/ewr-tnt-ssfn-00.testnet.sui.io/udp/8084 ID de pares: df8a8d128051c249e224f95fcc463f518a0ebed8986bbdcc11ed751181fecd38 - dirección: /dns/lax-tnt-ssfn-00.testnet.sui.io/udp/8084 ID de pares: f9a72a0a6c17eed09c27898eab389add704777c03e135846da2428f516a0c11d - dirección: /dns/lhr-tnt-ssfn-00.testnet.sui.io/udp/8084 ID de pares: 9393d6056bb9c9d8475a3cf3525c747257f17c6a698a7062cbbd1875bc6ef71e - dirección: /dns/mel-tnt-ssfn-00.testnet.sui.io/udp/8084 ID de pares: c88742f46e66a11cb8c84aca488065661401ef66f726cb9afeb8a5786d83456e
- Opcional: Omita este paso para aceptar las rutas predeterminadas a los recursos. Edite el archivo
fullnode.yaml
para usar rutas personalizadas.
- Actualice el campo
db-path
con la ruta a la base de datos del nodo completo.
plain textruta-db: "/db-files/sui-fullnode"
- Actualizar la
ubicación del archivo genesis
con la ruta agenesis.blob
.
plain text``` génesis: génesis-ubicación-archivo: "/sui-fullnode/genesis.blob" ```
- Opcional: para ahorrar espacio en disco en su nodo completo, agregue la siguiente configuración a su archivo
fullnode.yaml
para habilitar la poda agresiva:
plain textautoridad-tienda-poda-config: num-latest-epoch-dbs-to-retain: 3 época-db-pruning-period-secs: 3600 num-epochs-to-retain: 0 max-puntos de control-en-lote: 10 max-transacciones-en-lote: 1000 uso-rango-eliminación: verdadero
Iniciando servicios#
En este punto, su nodo Sui Full está listo para conectarse a la red Sui.
- Abra una Terminal o Consola en el directorio
sui
.
- Inicie el nodo Sui Full:
plain textcargo run --release --bin sui-node --config-path fullnode.yaml
- Opcional: Publicar/suscribirse a las notificaciones mediante JSON-RPC a través de websocket.
Si su configuración es exitosa, su nodo Sui Full ahora está conectado a la red apropiada.
Su nodo completo atiende los puntos finales de lectura de Sui JSON-RPC API en:
http://127.0. 0.1:9000
.Resolución de problemas#
Si recibe un error
cannot find -lpq
, se está perdiendo la biblioteca libpq
. Use sudo apt-get install libpq-dev
para instalar en Linux, o brew install libpq
en MacOS. Después de instalar en MacOS, cree un enlace Homebrew usando brew link --force libpq
. Para más contexto, consulte el problema en Stack Overflow.Si recibe el siguiente error:
plain textentró en pánico por 'error de vinculación a 0.0.0.0:9184: error al crear el servidor de escucha: la dirección ya está en uso (error del sistema operativo 98)
Luego actualice la dirección de métricas en su archivo fullnode.yaml para usar el puerto
9180
.