Solana Web3.js 2.x: Reestruturação modular e melhoria de desempenho

Solana Web3.js 2.x versão: divisão de funcionalidades e otimização de desempenho

O Solana Web3.js, como uma biblioteca JavaScript rica em funcionalidades, lançou oficialmente a versão 2.x em novembro deste ano. Comparado à versão 1.x, a nova versão apresenta mudanças significativas na estrutura e na forma de implementação. Este artigo irá resumir essas principais mudanças para ajudar os desenvolvedores a se prepararem para a migração futura.

Web3 Novato Série: Agora atualize @solana/web3.js 2.x para habilitar programação funcional

Comparação de Versões

As principais características da versão 1.x são a simplicidade e a facilidade de uso. Ela inclui apenas um pacote @solana/web3.js, adotando um design baseado em classes, que encapsula uma grande quantidade de operações comuns. Por exemplo, a classe Connection oferece dezenas de métodos, quase cobrindo todas as funcionalidades necessárias para os desenvolvedores. No entanto, esse design também traz alguns problemas, como o tamanho grande da biblioteca de código, onde os dispositivos dos usuários precisam baixar uma quantidade significativa de código que pode não ser necessário.

A versão 2.x adotou uma estratégia diferente. A equipe de desenvolvimento dividiu o repositório de código em vários módulos pequenos, como @solana/accounts, @solana/codecs, @solana/rpc, entre outros. A nova versão abandonou a implementação baseada em classes, optando por uma abordagem de função única, o que beneficia a otimização durante a construção do código JavaScript. O código não utilizado será removido e não será baixado para os dispositivos dos usuários. De acordo com estatísticas oficiais, os DApps que utilizam a nova versão geralmente conseguem uma otimização de 30% em tamanho, e se apenas algumas funcionalidades forem utilizadas, a proporção de otimização pode ser ainda maior.

Outra característica importante da versão 2.x é a ausência de dependências. Tendo em conta os ataques à cadeia de suprimentos que ocorreram recentemente nas versões 1.95.5 e 1.95.6, a redução de dependências externas pode diminuir significativamente os riscos de segurança. A nova versão utiliza mais funcionalidades nativas, eliminando a introdução de dependências externas e Polyfills.

Pontos de Mudança Importantes

conectar

A versão 2.x adotou uma abordagem mais funcional para lidar com conexões. Não se utiliza mais a classe Connection, mas sim a configuração do endereço RPC para criar o emissor de requisições. Por exemplo, ao enviar uma transação, uma requisição HTTPS é automaticamente iniciada e uma conexão WSS é estabelecida para subscrever o estado da transação.

par de chaves

O tratamento relacionado à chave pública e à chave privada também mudou. As classes Keypair e PublicKey, comumente usadas na versão 1.x, foram substituídas por algumas funções. Por exemplo, agora usamos await generateKeyPair() para gerar um par de chaves, em vez do anterior Keypair.generate(). A nova implementação aproveita a API Web Crypto do JavaScript, utilizando a implementação nativa de Ed25519, o que faz com que alguns métodos se tornem assíncronos.

enviar transação

A versão 2.x não utiliza mais as classes Transaction e VersionedTransaction. Os métodos relacionados ao System Program também precisam ser importados de outros lugares. Por exemplo, a instrução transfer agora precisa chamar a função getTransferSolInstruction do @solana-program/system.

A nova versão oferece a forma pipe, comumente usada em programação funcional. Os desenvolvedores podem usar a função pipe para implementar a funcionalidade de transferência da versão 1.x. Embora a quantidade de código tenha aumentado, isso proporciona uma maior personalização.

React suporta

É importante notar que o projeto @solana/web3.js também inclui uma biblioteca chamada @solana/react, que fornece alguns React Hooks, incorporando funcionalidades como signIn.

Resumo

O lançamento da versão 2.x do Solana Web3.js demonstra o compromisso da equipe de desenvolvimento com a melhoria contínua. A nova versão oferece aos desenvolvedores uma maneira mais eficiente, flexível e personalizável de interagir com a rede Solana, prometendo impulsionar ainda mais o desenvolvimento e a aplicação da plataforma. Embora muitos projetos ainda não tenham migrado para a nova versão, compreender essas mudanças ajudará os desenvolvedores a se prepararem para a transição futura.

Web3 Novato Série: Agora atualize @solana/web3.js 2.x para ativar a programação funcional

SOL1.92%
Ver original
Esta página pode conter conteúdo de terceiros, que é fornecido apenas para fins informativos (não para representações/garantias) e não deve ser considerada como um endosso de suas opiniões pela Gate nem como aconselhamento financeiro ou profissional. Consulte a Isenção de responsabilidade para obter detalhes.
  • Recompensa
  • 5
  • Compartilhar
Comentário
0/400
StablecoinArbitrageurvip
· 21h atrás
*ajusta os óculos* hmm... com base na minha análise de métricas de desempenho, dividir em módulos deve reduzir a latência em ~47 pontos de base
Ver originalResponder0
MissingSatsvip
· 21h atrás
Finalmente esperei pela atualização, esperei um ano.
Ver originalResponder0
LucidSleepwalkervip
· 21h atrás
A versão 2.x chegou, não consigo mais aprender.
Ver originalResponder0
DuckFluffvip
· 21h atrás
Hã, ainda estás a usar a versão 1.x, vai actualizar.
Ver originalResponder0
BrokenYieldvip
· 22h atrás
finalmente alguma gestão de risco em sol... levou-lhes tempo suficiente smh
Ver originalResponder0
Faça trade de criptomoedas em qualquer lugar e a qualquer hora
qrCode
Escaneie o código para baixar o app da Gate
Comunidade
Português (Brasil)
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)