Solana Web3.js versão 2.x: Divisão e otimização de recursos
Solana Web3.js é uma biblioteca JavaScript rica em recursos, que recentemente lançou a versão 2.x. Em comparação com a 1.x, a nova versão apresenta mudanças significativas, e este artigo irá resumir suas principais atualizações.
Embora a versão 2.x tenha sido lançada recentemente e o uso ainda não seja elevado, muitas bibliotecas amplamente utilizadas ainda não foram migradas, mas compreender essas mudanças antecipadamente ajuda na preparação para futuras atualizações.
Comparação de Versões
A versão antiga era mais simples de usar, com todas as funcionalidades concentradas no pacote @solana/web3.js, que encapsulava muitas operações comuns com um design baseado em classes. No entanto, esse design também trouxe alguns problemas, como o fato de que toda a biblioteca seria baixada para o dispositivo do usuário, mesmo que apenas uma pequena parte das funcionalidades fosse utilizada.
A versão 2.x divide a base de código em módulos menores, como @solana/accounts, @solana/codecs, @solana/rpc, etc. A nova versão abandona as implementações baseadas em classe em favor de uma única função, o que é bom para otimizar compilações de código JavaScript. Os códigos não utilizados serão eliminados e não serão transferidos para o dispositivo do utilizador. De acordo com estatísticas oficiais, usar a nova versão do aplicativo pode basicamente obter uma otimização de volume de 30%.
O novo design modular da versão apresenta exigências mais altas para a documentação de desenvolvimento. Atualmente, os nomes dos módulos têm uma boa semântica, ajudando os desenvolvedores a encontrar rapidamente as funções necessárias. No entanto, como foi lançado há pouco tempo, muitos projetos ainda não foram migrados e há poucos exemplos relacionados.
Outra característica importante da versão 2.x é a ausência de dependências. Esta característica pode ter pouco impacto para o usuário comum, mas é muito importante do ponto de vista da segurança. A equipe de desenvolvimento decidiu usar mais funcionalidades nativas, eliminando a introdução de dependências externas e Polyfills, a fim de reduzir os riscos de segurança.
Principais mudanças
Processamento de conexões
A nova versão implementa a conexão de uma forma mais funcional. 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.
Gestão de Chaves
Houve grandes mudanças nas funcionalidades relacionadas a chaves públicas e privadas. As classes Keypair e PublicKey, comumente usadas na versão 1.x, não existem mais e foram substituídas por algumas funções. Por exemplo, você pode usar await generateKeyPair() para gerar um par de chaves, em vez do antigo Keypair.generate().
A nova implementação utiliza ao máximo a API Web Crypto do JavaScript, usando a implementação nativa do Ed25519. Isso fez com que alguns métodos se tornassem assíncronos, mas não é um grande problema para os desenvolvedores familiarizados com Promises.
Envio de transação
As classes Transaction e VersionedTransaction não estão mais disponíveis na versão 2.x. Os métodos relacionados ao programa do sistema não existem mais e precisam ser introduzidos a partir de outros módulos.
A nova versão fornece a forma de tubo, que é comumente usado na programação funcional. Por exemplo, ao implementar a função de transferência, em vez de iniciar uma transação através de Conexão, uma função específica é gerada por um Provedor RPC definido. Essa abordagem aumenta a quantidade de código, mas fornece maior capacidade de personalização.
React suporte
É importante notar que o projeto @solana/web3.js também inclui a biblioteca @solana/react, que fornece alguns Hooks do React, com funcionalidades integradas 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 a adoção e o desenvolvimento da plataforma.
Esta página pode conter conteúdos de terceiros, que são fornecidos apenas para fins informativos (sem representações/garantias) e não devem ser considerados como uma aprovação dos seus pontos de vista pela Gate, nem como aconselhamento financeiro ou profissional. Consulte a Declaração de exoneração de responsabilidade para obter mais informações.
15 gostos
Recompensa
15
9
Partilhar
Comentar
0/400
ProbablyNothing
· 07-19 15:36
sol finalmente começou a subir
Ver originalResponder0
GweiWatcher
· 07-18 09:24
Conexão é rei!
Ver originalResponder0
MoonBoi42
· 07-18 08:31
Primeira fila a ver a subir sol
Ver originalResponder0
CryptoMotivator
· 07-17 01:02
Finalmente chegou esta atualização!
Ver originalResponder0
Anon32942
· 07-17 01:01
Finalmente otimizado, parece que antes realmente não estava bom.
Atualização significativa da versão 2.x do Solana Web3.js: design modular melhora o desempenho e a segurança.
Solana Web3.js versão 2.x: Divisão e otimização de recursos
Solana Web3.js é uma biblioteca JavaScript rica em recursos, que recentemente lançou a versão 2.x. Em comparação com a 1.x, a nova versão apresenta mudanças significativas, e este artigo irá resumir suas principais atualizações.
Embora a versão 2.x tenha sido lançada recentemente e o uso ainda não seja elevado, muitas bibliotecas amplamente utilizadas ainda não foram migradas, mas compreender essas mudanças antecipadamente ajuda na preparação para futuras atualizações.
Comparação de Versões
A versão antiga era mais simples de usar, com todas as funcionalidades concentradas no pacote @solana/web3.js, que encapsulava muitas operações comuns com um design baseado em classes. No entanto, esse design também trouxe alguns problemas, como o fato de que toda a biblioteca seria baixada para o dispositivo do usuário, mesmo que apenas uma pequena parte das funcionalidades fosse utilizada.
A versão 2.x divide a base de código em módulos menores, como @solana/accounts, @solana/codecs, @solana/rpc, etc. A nova versão abandona as implementações baseadas em classe em favor de uma única função, o que é bom para otimizar compilações de código JavaScript. Os códigos não utilizados serão eliminados e não serão transferidos para o dispositivo do utilizador. De acordo com estatísticas oficiais, usar a nova versão do aplicativo pode basicamente obter uma otimização de volume de 30%.
O novo design modular da versão apresenta exigências mais altas para a documentação de desenvolvimento. Atualmente, os nomes dos módulos têm uma boa semântica, ajudando os desenvolvedores a encontrar rapidamente as funções necessárias. No entanto, como foi lançado há pouco tempo, muitos projetos ainda não foram migrados e há poucos exemplos relacionados.
Outra característica importante da versão 2.x é a ausência de dependências. Esta característica pode ter pouco impacto para o usuário comum, mas é muito importante do ponto de vista da segurança. A equipe de desenvolvimento decidiu usar mais funcionalidades nativas, eliminando a introdução de dependências externas e Polyfills, a fim de reduzir os riscos de segurança.
Principais mudanças
Processamento de conexões
A nova versão implementa a conexão de uma forma mais funcional. 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.
Gestão de Chaves
Houve grandes mudanças nas funcionalidades relacionadas a chaves públicas e privadas. As classes Keypair e PublicKey, comumente usadas na versão 1.x, não existem mais e foram substituídas por algumas funções. Por exemplo, você pode usar await generateKeyPair() para gerar um par de chaves, em vez do antigo Keypair.generate().
A nova implementação utiliza ao máximo a API Web Crypto do JavaScript, usando a implementação nativa do Ed25519. Isso fez com que alguns métodos se tornassem assíncronos, mas não é um grande problema para os desenvolvedores familiarizados com Promises.
Envio de transação
As classes Transaction e VersionedTransaction não estão mais disponíveis na versão 2.x. Os métodos relacionados ao programa do sistema não existem mais e precisam ser introduzidos a partir de outros módulos.
A nova versão fornece a forma de tubo, que é comumente usado na programação funcional. Por exemplo, ao implementar a função de transferência, em vez de iniciar uma transação através de Conexão, uma função específica é gerada por um Provedor RPC definido. Essa abordagem aumenta a quantidade de código, mas fornece maior capacidade de personalização.
React suporte
É importante notar que o projeto @solana/web3.js também inclui a biblioteca @solana/react, que fornece alguns Hooks do React, com funcionalidades integradas 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 a adoção e o desenvolvimento da plataforma.