logo

Configuração completa do nó

Siga as instruções aqui para executar seu próprio Sui Full.

Requisitos de hardware#

Hardware mínimo sugerido para executar um nó Sui Full:
  • CPUs: 8 núcleos físicos / 16 vCPUs -RAM: 128GB
  • Armazenamento (SSD): unidade NVMe de 2 TB

Requisitos de software#

A Sui recomenda a execução de nós Sui Full no Linux. Sui suporta o Ubuntu e distribuições Debian. Você também pode executar um nó Sui Full no macOS.
Certifique-se de atualizar Rust.
Use o seguinte comando para instalar dependências adicionais do Linux.
plain text
sudo apt-get update \\ && sudo apt-get install -y --no-install-recommends \\ tzdata \\ libprotobuf-dev \\ ca-certificados \\ build-essential \\ libssl-dev \\ libclang-dev \\ pkg-config \\ abressl \\ compilador protobuf \\ git \\ clang \\ cmake

Configurar um nó completo#

Você pode configurar um nó Sui Full usando o Docker ou construindo a partir de fonte.

Usando o Docker Compose#

Siga as instruções no Leia-me do Docker do nó completo para executar um nó completo do Sui usando o Docker, incluindo redefinir o ambiente.

Configurando um repositório Sui local#

Você deve obter os arquivos de origem mais recentes do repositório Sui GitHub.
  1. Configure sua bifurcação do repositório Sui:
    1. Acesse o repositório Sui no GitHub e clique no botão Fork no canto superior direito da tela.
    2. Clone sua bifurcação pessoal do repositório Sui em sua máquina local (certifique-se de inserir seu nome de usuário do GitHub no URL):
      1. plain text
        git clone <https://github.com/><YOUR-GITHUB-USERNAME>/sui.git
  1. cd em seu repositório sui:
    1. plain text
      cd sui
  1. Configure o repositório Sui como um git remote:
    1. plain text
      git remote add upstream <https://github.com/MystenLabs/sui>
  1. Sincronize seu garfo:
    1. plain text
      git buscar upstream
  1. Confira a ramificação associada à versão de rede que você deseja executar (por exemplo, devnet para executar um nó Devnet Full):
    1. plain text
      git checkout --track upstream/<BRANCH-NAME>

Configurando um nó completo da fonte#

Abra um Terminal ou Console no diretório sui que você baixou nas etapas anteriores para concluir o seguinte:
  1. Instale os Pré-requisitos necessários.
  1. Faça uma cópia do modelo YAML de nó completo:
    1. plain text
      cp crates/sui-config/data/fullnode-template.yaml fullnode.yaml
  1. Baixe o blob do genesis para a rede usar:
      • Devnet genesis blob:
        • plain text
          curl -fLJO <https://github.com/MystenLabs/sui-genesis/raw/main/devnet/genesis.blob>
      • Testnet genesis blob:
        • plain text
          curl -fLJO <https://github.com/MystenLabs/sui-genesis/raw/main/testnet/genesis.blob>
  1. Testnet Full nodes apenas: Edite o arquivo fullnode.yaml para incluir nós pares para sincronização de estado. Anexe o seguinte ao final da configuração atual:
    1. plain text
      p2p-config: peers-semente: - endereço: /dns/ewr-tnt-ssfn-00.testnet.sui.io/udp/8084 id de par: df8a8d128051c249e224f95fcc463f518a0ebed8986bbdcc11ed751181fecd38 - endereço: /dns/lax-tnt-ssfn-00.testnet.sui.io/udp/8084 id de par: f9a72a0a6c17eed09c27898eab389add704777c03e135846da2428f516a0c11d - endereço: /dns/lhr-tnt-ssfn-00.testnet.sui.io/udp/8084 id de par: 9393d6056bb9c9d8475a3cf3525c747257f17c6a698a7062cbbd1875bc6ef71e - endereço: /dns/mel-tnt-ssfn-00.testnet.sui.io/udp/8084 id de par: c88742f46e66a11cb8c84aca488065661401ef66f726cb9afeb8a5786d83456e
  1. Opcional: Ignore esta etapa para aceitar os caminhos padrão para recursos. Edite o arquivo fullnode.yaml para usar caminhos personalizados.
  • Atualize o campo db-path com o caminho para o banco de dados Full node.
    • plain text
      db-path: "/db-files/sui-fullnode"
  • Atualizar genesis-file-location com o caminho para genesis.blob.
plain text
``` gênese: localização do arquivo genesis: "/sui-fullnode/genesis.blob" ```
  1. Opcional: para economizar espaço em disco no nó completo, adicione as seguintes configurações ao arquivo fullnode.yaml para ativar a remoção agressiva:
plain text
Authority-store-pruning-config: num-último-epoch-dbs-para-reter: 3 epoch-db-pruning-period-secs: 3600 num-epochs-to-retain: 0 máximo de pontos de verificação no lote: 10 máximo de transações em lote: 1000 exclusão de intervalo de uso: verdadeiro

Iniciando serviços#

Neste ponto, seu nó Sui Full está pronto para se conectar à rede Sui.
  1. Abra um Terminal ou Console no diretório sui.
  1. Inicie o nó Sui Full:
    1. plain text
      carga run --release --bin sui-node -- --config-path fullnode.yaml
  1. Opcional: Publish/subscribe para notificações usando JSON-RPC via websocket.
Se sua configuração for bem-sucedida, seu nó Sui Full agora está conectado à rede apropriada.
Seu Full node serve os endpoints de leitura da Sui JSON-RPC API em: http://127.0.0. 0,1:9000.

Solução de problemas#

Se você receber um erro cannot find -lpq, você está perdendo a biblioteca libpq. Use sudo apt-get install libpq-dev para instalar no Linux ou brew install libpq no MacOS. Depois de instalar no MacOS, crie um link Homebrew usando brew link --force libpq. Para obter mais contexto, consulte o problema no Stack Overflow.
Se você receber o seguinte erro:
plain text
entrou em pânico com 'erro de vinculação a 0.0.0.0:9184: erro ao criar o ouvinte do servidor: endereço já em uso (erro 98 do sistema operacional)
Em seguida, atualize o endereço de métricas em seu arquivo fullnode.yaml para usar a porta 9180.