Atualização do Solana Web3.js 2.x: Design modular melhora desempenho e segurança

robot
Geração do resumo em andamento

Atualização da versão 2.x do Solana Web3.js: Abraçando a programação funcional

O Solana Web3.js, como uma biblioteca JavaScript rica em funcionalidades, lançou a versão 2.x em novembro deste ano. Em comparação com a 1.x, a nova versão trouxe mudanças significativas. Embora a utilização da versão 2.x ainda não seja alta e muitas bibliotecas amplamente utilizadas ainda não tenham migrado, compreender essas mudanças é crucial para o desenvolvimento e trabalho de migração futuros.

Web3 Novato: Atualize agora @solana/web3.js 2.x para ativar a programação funcional

Comparação de Versões

A utilização da versão 1.x é relativamente simples, com todas as funcionalidades concentradas num único pacote @solana/web3.js, que encapsula uma grande quantidade de operações comuns com base em um design orientado a classes. Por exemplo, a classe Connection oferece dezenas de métodos, cobrindo quase todas as funcionalidades necessárias para os desenvolvedores. No entanto, esse design também traz alguns problemas, como o tamanho excessivo da biblioteca, pois os dispositivos dos usuários precisam fazer o download de toda a biblioteca, mesmo que utilizem apenas uma pequena parte das funcionalidades.

A versão 2.x adotou um design modular, dividindo a base de código em vários pequenos módulos, como @solana/accounts, @solana/codecs, @solana/rpc, @solana/signers, @solana/transactions, entre outros. A nova versão abandonou a implementação baseada em classes e passou a utilizar uma abordagem de função única, o que favorece 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 dados oficiais, aplicações que utilizam a nova versão costumam obter uma otimização de volume de 30%; se apenas algumas funcionalidades forem utilizadas, a proporção de otimização pode ser ainda maior.

Uma outra característica importante da versão 2.x é a ausência de dependências. Tendo em conta os ataques na cadeia de fornecimento que ocorreram recentemente nas versões 1.95.5 e 1.95.6, a redução das dependências externas ajuda a aumentar a segurança. A equipe de desenvolvimento decidiu usar 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. A classe Connection não é mais utilizada; em vez disso, um emissor de solicitações é criado configurando o endereço de solicitação RPC. Por exemplo, ao enviar uma transação, uma solicitação HTTPS é automaticamente iniciada e uma conexão WSS é estabelecida, assinando o estado da transação e retornando o hash da transação após a confirmação.

par de chaves

Na versão 2.x, as classes Keypair e PublicKey foram substituídas por uma série de funções. Por exemplo, agora se usa await generateKeyPair() para gerar pares de chaves, em vez de Keypair.generate(). A nova implementação utiliza a API Web Crypto do JavaScript, usando a implementação nativa Ed25519, o que fez com que muitos métodos se tornassem 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 foram removidos e precisam ser importados de outros pacotes. Por exemplo, o comando de transferência agora requer a chamada da função getTransferSolInstruction no @solana-program/system.

A nova versão oferece a forma pipe, comumente usada em programação funcional. As transações não são mais iniciadas através da Connection, mas sim através da geração de funções específicas por um RPC Provider definido. Embora essa abordagem aumente ligeiramente a quantidade de código, ela oferece uma personalização mais robusta.

React suporta

O projeto @solana/web3.js também inclui uma biblioteca chamada @solana/react, que oferece alguns React Hooks, com funcionalidades embutidas como signIn.

Resumo

A versão 2.x de @solana/web3.js demonstra o compromisso da equipa Solana com o desenvolvimento contínuo e a melhoria. A nova versão oferece aos desenvolvedores uma maneira mais eficiente, flexível e personalizável de interagir com a rede Solana, com a esperança de promover a adoção e o desenvolvimento da plataforma. Embora ainda esteja numa fase inicial, à medida que o tempo passa, acredita-se que mais projetos irão migrar para esta nova versão.

Série para iniciantes em Web3: agora atualize @solana/web3.js 2.x para começar a programação funcional

SOL3.02%
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
  • Repostar
  • Compartilhar
Comentário
0/400
DiamondHandsvip
· 07-27 11:54
o v2 do sol finalmente chegou
Ver originalResponder0
GasGrillMastervip
· 07-26 04:37
Totalmente sem dependências? Quero ver.
Ver originalResponder0
GweiObservervip
· 07-24 21:40
Solana finalmente entrou na onda
Ver originalResponder0
ThreeHornBlastsvip
· 07-24 21:22
A Solana finalmente deu uma força uma vez!
Ver originalResponder0
PretendingSeriousvip
· 07-24 21:20
Essa atualização finalmente chegou. Você é esperto.
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)