Solana Web3.js 2.x versão: Uma nova era de programação funcional
Solana Web3.js, como uma biblioteca JavaScript rica em recursos, lançou oficialmente a versão 2.x em novembro deste ano. Em comparação com a 1.x, a nova versão trouxe mudanças significativas, e este artigo fará um resumo das principais alterações.
Embora a versão 2.x tenha acabado de ser lançada e seu uso ainda não alcance o da versão anterior, entender essas mudanças é crucial para a migração de projetos futuros.
Comparação de Versões
Não há como negar que a experiência de uso das versões antigas era mais conveniente. A versão 1.x estava concentrada em um único pacote, utilizando um design baseado em classes, que encapsulava várias operações comuns. 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 trouxe alguns problemas, como redundância de código e aumento do tempo de carregamento.
A versão 2.x adotou um design modular, dividindo o código original em vários módulos pequenos, como @solana/accounts, @solana/codecs, @solana/rpc, entre outros. Ao mesmo tempo, a nova versão abandonou a implementação baseada em classes, optando por um método de função única, o que beneficia a otimização durante a construção do código JavaScript. Segundo estatísticas, aplicativos que utilizam a nova versão conseguem, em média, uma otimização de 30% no tamanho; para aplicações que utilizam apenas algumas funções, a proporção de otimização pode ser ainda maior.
O novo design modular da versão requer uma qualidade de documentação mais elevada. Neste momento, a nomeação dos vários módulos apresenta uma boa semântica, o que, numa certa medida, reduz a dificuldade de migração para os desenvolvedores.
Vale a pena mencionar que a versão 2.x implementou zero dependências. Tendo em conta os recentes ataques à cadeia de suprimentos nas versões 1.95.5 e 1.95.6, reduzir as dependências externas sem dúvida fortaleceu a segurança da biblioteca. A equipe de desenvolvimento decidiu aproveitar mais as funcionalidades nativas, eliminando a necessidade 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 nova versão cria um emissor de solicitações configurando o endereço RPC, e depois utiliza esse emissor para iniciar várias solicitações.
par de chaves
O manuseio relacionado a chaves públicas e privadas também sofreu mudanças significativas. As classes Keypair e PublicKey, comumente usadas na versão 1.x, foram substituídas por uma série de funções. Por exemplo, agora é possível gerar pares de chaves usando a função assíncrona generateKeyPair(). Essa mudança decorre do novo versionamento que aproveita mais a API Web Crypto do JavaScript, utilizando a implementação nativa de Ed25519.
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 na programação funcional, tornando o processo de iniciação e confirmação de transações mais flexível e personalizável.
React suporta
É importante notar que o projeto @solana/web3.js agora inclui uma biblioteca chamada @solana/react, que oferece alguns Hooks do React, com funcionalidades integradas como signIn.
Resumo
A versão 2.x do @solana/web3.js demonstra a determinação da equipe Solana em continuar a inovar. A nova versão oferece aos desenvolvedores uma forma mais eficiente, flexível e personalizável de interagir com a rede Solana, prometendo impulsionar ainda mais a adoção e o desenvolvimento da plataforma.
This page may contain third-party content, which is provided for information purposes only (not representations/warranties) and should not be considered as an endorsement of its views by Gate, nor as financial or professional advice. See Disclaimer for details.
12 gostos
Recompensa
12
6
Partilhar
Comentar
0/400
SellTheBounce
· 07-08 14:55
Ter habilidade não é tão bom quanto ter humanidade, perder é o destino.
Ver originalResponder0
just_another_fish
· 07-07 22:21
Código está bem escrito entrar numa posição copiar o dever de casa
Ver originalResponder0
AllInDaddy
· 07-06 22:49
Finalmente saiu uma nova versão! comprar na baixa, prepare-se para entrar!
Ver originalResponder0
MEV_Whisperer
· 07-06 22:45
Solana é realmente top, a velocidade é como uma concha batendo no bar.
Lançamento do Solana Web3.js 2.x: Design modular melhora desempenho e segurança
Solana Web3.js 2.x versão: Uma nova era de programação funcional
Solana Web3.js, como uma biblioteca JavaScript rica em recursos, lançou oficialmente a versão 2.x em novembro deste ano. Em comparação com a 1.x, a nova versão trouxe mudanças significativas, e este artigo fará um resumo das principais alterações.
Embora a versão 2.x tenha acabado de ser lançada e seu uso ainda não alcance o da versão anterior, entender essas mudanças é crucial para a migração de projetos futuros.
Comparação de Versões
Não há como negar que a experiência de uso das versões antigas era mais conveniente. A versão 1.x estava concentrada em um único pacote, utilizando um design baseado em classes, que encapsulava várias operações comuns. 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 trouxe alguns problemas, como redundância de código e aumento do tempo de carregamento.
A versão 2.x adotou um design modular, dividindo o código original em vários módulos pequenos, como @solana/accounts, @solana/codecs, @solana/rpc, entre outros. Ao mesmo tempo, a nova versão abandonou a implementação baseada em classes, optando por um método de função única, o que beneficia a otimização durante a construção do código JavaScript. Segundo estatísticas, aplicativos que utilizam a nova versão conseguem, em média, uma otimização de 30% no tamanho; para aplicações que utilizam apenas algumas funções, a proporção de otimização pode ser ainda maior.
O novo design modular da versão requer uma qualidade de documentação mais elevada. Neste momento, a nomeação dos vários módulos apresenta uma boa semântica, o que, numa certa medida, reduz a dificuldade de migração para os desenvolvedores.
Vale a pena mencionar que a versão 2.x implementou zero dependências. Tendo em conta os recentes ataques à cadeia de suprimentos nas versões 1.95.5 e 1.95.6, reduzir as dependências externas sem dúvida fortaleceu a segurança da biblioteca. A equipe de desenvolvimento decidiu aproveitar mais as funcionalidades nativas, eliminando a necessidade 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 nova versão cria um emissor de solicitações configurando o endereço RPC, e depois utiliza esse emissor para iniciar várias solicitações.
par de chaves
O manuseio relacionado a chaves públicas e privadas também sofreu mudanças significativas. As classes Keypair e PublicKey, comumente usadas na versão 1.x, foram substituídas por uma série de funções. Por exemplo, agora é possível gerar pares de chaves usando a função assíncrona generateKeyPair(). Essa mudança decorre do novo versionamento que aproveita mais a API Web Crypto do JavaScript, utilizando a implementação nativa de Ed25519.
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 na programação funcional, tornando o processo de iniciação e confirmação de transações mais flexível e personalizável.
React suporta
É importante notar que o projeto @solana/web3.js agora inclui uma biblioteca chamada @solana/react, que oferece alguns Hooks do React, com funcionalidades integradas como signIn.
Resumo
A versão 2.x do @solana/web3.js demonstra a determinação da equipe Solana em continuar a inovar. A nova versão oferece aos desenvolvedores uma forma mais eficiente, flexível e personalizável de interagir com a rede Solana, prometendo impulsionar ainda mais a adoção e o desenvolvimento da plataforma.