Solana Web3.js 2.x versão: A nova era da programação funcional
A versão 2.x do Solana Web3.js foi oficialmente lançada em novembro deste ano, trazendo mudanças significativas em relação à versão 1.x. Este artigo irá resumir as principais alterações, preparando os desenvolvedores para uma futura migração.
Comparação de Versões
A versão 1.x, embora simples de usar, apresenta alguns problemas. Ela concentra todas as funcionalidades em um único pacote, fazendo com que os dispositivos dos usuários precisem baixar uma grande quantidade de código que pode não ser necessário.
A versão 2.x adota um design modular, dividindo a base de código em vários pequenos módulos, como @solana/accounts, @solana/codecs, entre outros. A nova versão abandonou a implementação baseada em classes, optando por uma abordagem de função única, o que ajuda na otimização durante a construção do código JavaScript. De acordo com dados oficiais, as DApps que utilizam a nova versão geralmente conseguem uma otimização de 30% no tamanho; para aplicações que utilizam apenas algumas funcionalidades, a proporção de otimização pode ser ainda maior.
No entanto, isso também exige uma qualidade de documentação mais alta da equipe Solana. Atualmente, a semântica dos nomes dos pacotes é boa, ajudando a reduzir a dificuldade de migração para os desenvolvedores. Mas, como a nova versão foi lançada há pouco tempo, muitos projetos ainda não realizaram a migração, e os exemplos da versão 2.x no Solana Cookbook também são relativamente escassos.
Uma outra característica importante da versão 2.x é a ausência de dependências. Esta característica é significativa para aumentar a segurança, especialmente considerando os ataques à cadeia de suprimentos que ocorreram recentemente nas versões 1.95.5 e 1.95.6.
Pontos de Mudança Importantes
conectar
A versão 2.x adota uma abordagem mais funcional para lidar com conexões. Em vez de usar a classe Connection, agora é possível criar um remetente de solicitações configurando o endereço RPC.
par de chaves
Na nova versão, as classes Keypair e PublicKey foram substituídas por uma série de funções. Por exemplo, agora você usa await generateKeyPair() para gerar um par de chaves, em vez do antigo Keypair.generate(). O novo método retorna uma Promise, devido à utilização da Web Crypto API do JavaScript, que utiliza 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, o comando transfer agora precisa chamar a função getTransferSolInstruction do @solana-program/system.
A nova versão oferece a forma pipe, comumente utilizada 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 a partir do RPC Provider definido. Isso aumenta a personalização do código, mas também aumenta ligeiramente a quantidade de código.
React suporta
O projeto @solana/web3.js também inclui a biblioteca @solana/react, que oferece alguns Hooks do React, incorporando funcionalidades como signIn.
Resumo
A publicação da versão 2.x de @solana/web3.js demonstra o compromisso da equipe Solana 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, com a esperança de impulsionar ainda mais o desenvolvimento e a adoção 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.
12 gostos
Recompensa
12
6
Partilhar
Comentar
0/400
JustHodlIt
· 23h atrás
2.x está estável, vamos com tudo!
Ver originalResponder0
CryptoMom
· 07-20 08:14
Finalmente atualizado, vamos ver um pouco do 2.x
Ver originalResponder0
ETHReserveBank
· 07-19 17:40
Abrindo champanhe, aguardando a atualização na frente.
Ver originalResponder0
LuckyHashValue
· 07-19 17:40
sola voltou a ter vida nova
Ver originalResponder0
LiquidityNinja
· 07-19 17:37
Solana ainda é um bull
Ver originalResponder0
EyeOfTheTokenStorm
· 07-19 17:13
Dados mostram mais uma onda de bull? Entrar numa posição?
Lançamento do Solana Web3.js 2.x: uma nova era de design modular e programação funcional sem dependências.
Solana Web3.js 2.x versão: A nova era da programação funcional
A versão 2.x do Solana Web3.js foi oficialmente lançada em novembro deste ano, trazendo mudanças significativas em relação à versão 1.x. Este artigo irá resumir as principais alterações, preparando os desenvolvedores para uma futura migração.
Comparação de Versões
A versão 1.x, embora simples de usar, apresenta alguns problemas. Ela concentra todas as funcionalidades em um único pacote, fazendo com que os dispositivos dos usuários precisem baixar uma grande quantidade de código que pode não ser necessário.
A versão 2.x adota um design modular, dividindo a base de código em vários pequenos módulos, como @solana/accounts, @solana/codecs, entre outros. A nova versão abandonou a implementação baseada em classes, optando por uma abordagem de função única, o que ajuda na otimização durante a construção do código JavaScript. De acordo com dados oficiais, as DApps que utilizam a nova versão geralmente conseguem uma otimização de 30% no tamanho; para aplicações que utilizam apenas algumas funcionalidades, a proporção de otimização pode ser ainda maior.
No entanto, isso também exige uma qualidade de documentação mais alta da equipe Solana. Atualmente, a semântica dos nomes dos pacotes é boa, ajudando a reduzir a dificuldade de migração para os desenvolvedores. Mas, como a nova versão foi lançada há pouco tempo, muitos projetos ainda não realizaram a migração, e os exemplos da versão 2.x no Solana Cookbook também são relativamente escassos.
Uma outra característica importante da versão 2.x é a ausência de dependências. Esta característica é significativa para aumentar a segurança, especialmente considerando os ataques à cadeia de suprimentos que ocorreram recentemente nas versões 1.95.5 e 1.95.6.
Pontos de Mudança Importantes
conectar
A versão 2.x adota uma abordagem mais funcional para lidar com conexões. Em vez de usar a classe Connection, agora é possível criar um remetente de solicitações configurando o endereço RPC.
par de chaves
Na nova versão, as classes Keypair e PublicKey foram substituídas por uma série de funções. Por exemplo, agora você usa await generateKeyPair() para gerar um par de chaves, em vez do antigo Keypair.generate(). O novo método retorna uma Promise, devido à utilização da Web Crypto API do JavaScript, que utiliza 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, o comando transfer agora precisa chamar a função getTransferSolInstruction do @solana-program/system.
A nova versão oferece a forma pipe, comumente utilizada 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 a partir do RPC Provider definido. Isso aumenta a personalização do código, mas também aumenta ligeiramente a quantidade de código.
React suporta
O projeto @solana/web3.js também inclui a biblioteca @solana/react, que oferece alguns Hooks do React, incorporando funcionalidades como signIn.
Resumo
A publicação da versão 2.x de @solana/web3.js demonstra o compromisso da equipe Solana 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, com a esperança de impulsionar ainda mais o desenvolvimento e a adoção da plataforma.