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 textsudo 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.
- Configure sua bifurcação do repositório Sui:
- Acesse o repositório Sui no GitHub e clique no botão Fork no canto superior direito da tela.
- 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):
plain textgit clone <https://github.com/><YOUR-GITHUB-USERNAME>/sui.git
cd
em seu repositóriosui
:
plain textcd sui
- Configure o repositório Sui como um git remote:
plain textgit remote add upstream <https://github.com/MystenLabs/sui>
- Sincronize seu garfo:
plain textgit buscar upstream
- Confira a ramificação associada à versão de rede que você deseja executar (por exemplo,
devnet
para executar um nó Devnet Full):
plain textgit 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:- Instale os Pré-requisitos necessários.
- Faça uma cópia do modelo YAML de nó completo:
plain textcp crates/sui-config/data/fullnode-template.yaml fullnode.yaml
- Baixe o blob do genesis para a rede usar:
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>
- 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:
plain textp2p-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
- 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 textdb-path: "/db-files/sui-fullnode"
- Atualizar
genesis-file-location
com o caminho paragenesis.blob
.
plain text``` gênese: localização do arquivo genesis: "/sui-fullnode/genesis.blob" ```
- 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 textAuthority-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.
- Abra um Terminal ou Console no diretório
sui
.
- Inicie o nó Sui Full:
plain textcarga run --release --bin sui-node -- --config-path fullnode.yaml
- 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 textentrou 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
.