Com a última atualização, tinta! Linguagem de programação 3.0 alcança paridade com ferrugem

With Latest Update, ink! 3.0 Programming Language Achieves Parity With Rust

Anúncios


 

 

Parity Technologies, a empresa por trás do Polkadot blockchain, anunciou uma atualização importante para sua tinta baseada em ferrugem! Linguagem de programação para escrever contratos inteligentes.

A nova atualização, tinta! 3.0, é projetado para fazer tinta! parece muito mais com a linguagem de programação Rust em que se baseia. Agora ele vem com todos os mesmos recursos com os quais os programadores Rust estão familiarizados, o que Parity diz que será uma grande ajuda quando se trata de escrever, atualizar e raciocinar com contratos inteligentes complexos. 

tinta! é a linguagem de programação mais usada pelos desenvolvedores nos ecossistemas Polkadot e Substrate, pois é uma das melhores para escrever de forma eficiente e de alto desempenho Contratos inteligentes Web Assembly (Wasm), que são uma alternativa aos contratos inteligentes baseados em Solidity da Ethereum. Com o ink!, os desenvolvedores podem escrever contratos inteligentes para blockchains usando a paleta Contracts da estrutura Substrate – um bloco de construção fundamental para blockchains compatíveis com Polkadot. 

tinta! é baseado em Rust porque esta é uma linguagem de programação extremamente eficiente que prioriza a correção, evita bugs de software e possui uma extensa comunidade que inclui suporte de empresas como Amazon Web Services, Google e Microsoft. Então significa tinta! se beneficia da mesma garantia de exatidão que o Rust tem, bem como quaisquer melhorias que a comunidade Rust adiciona por meio de suas constantes atualizações desse idioma. 

Em um artigo do no blog, Parity disse a tinta! 3.0 foi um esforço demorado que envolveu reescrever todos os seus principais componentes, incluindo a alteração de sua sintaxe para melhor mapear o código da tinta! para o código Rust gerado. Mas valeu a pena o esforço. Com a sintaxe do ink! agora mais ou menos idêntica à do Rust, os desenvolvedores obtêm acesso exatamente às mesmas ferramentas, como o rust-analyzer e o Clippy, que estão disponíveis na linguagem com a qual estão mais familiarizados. 

Anúncios


 

 

Novos recursos em tinta! 3.0

Isso está longe de ser a única coisa que mudou na tinta!. A nova versão traz o tão esperado Trait Support que permite aos desenvolvedores definir suas próprias definições de traits e implementá-las em tinta! contratos inteligentes. Com isso, os desenvolvedores podem definir interfaces de contrato inteligente compartilhadas para diferentes implementações, disse Parity, o que é especialmente útil para padrões de contrato inteligente definidos pela comunidade. 

Outras melhorias na tinta! 3.0 incluem tamanhos de contrato menores, levando a um desempenho mais alto e taxas de gás mais baixas, e a adição de chamadas de delegado, que oferece aos contratos inteligentes uma maneira de encaminhar as chamadas recebidas para outro contrato. Isso permitirá que os desenvolvedores implementem padrões de atualização de proxy para vários contratos inteligentes, entre outras coisas, disse Parity. 

Enquanto isso, o novo recurso Chain Extensions permite que os desenvolvedores chamem paletes de substrato diretamente de um contrato inteligente e acessem seu rico ecossistema de ferramentas de desenvolvedor. 

Espere, há mais! 

Assim como a tinta! 3.0, a Parity disse que fez algumas melhorias no palete de contratos que visam aumentar o desempenho do parachain, juntamente com novos recursos que prometem melhores chamadas e desempenho entre contratos. Com o `cargo-contract` 1.0., Parity disse que os desenvolvedores acharão muito mais simples escrever uma lógica mais complexa em seus contratos inteligentes. 

`cargo-contract` é uma ferramenta de desenvolvimento que pode ser usada para construir, testar e implantar contratos baseados em tinta!. A nova versão adiciona três comandos de interface de linha de comando que facilitam a interação com contratos inteligentes em cadeias – ou seja, upload, instanciar e chamar! Isso, disse Parity, torna a vida muito mais fácil, pois significa que os desenvolvedores não precisam mais clicar em uma interface de usuário do navegador para interagir com esses contratos, em vez de fazê-lo diretamente na linha de comando. No futuro, isso também permitirá scripts e integrações em ambientes de desenvolvimento de Integração Contínua, disse Parity. 

Um segundo novo recurso do 'contrato de carga' é sua capacidade de verificar automaticamente o código-fonte quanto a erros programáticos e estilísticos e fornecer alertas quando erros comuns são encontrados. Parity disse que seu objetivo com isso é construir lentamente uma coleção de regras de fiapos para tinta! contratos inteligentes, orientando os desenvolvedores a reduzir os custos de gás, criar pegadas de contratos inteligentes menores e corrigir padrões de uso de API enquanto identifica vulnerabilidades de segurança. 

O palete de contratos do substrato, que é o ambiente de execução para contratos inteligentes baseados em Wasm, também recebe uma atualização. Por exemplo, o mecanismo de aluguel do estado usado para lidar com o inchaço do estado foi substituído por um recurso de coleta automática de depósitos. Antes disso, os contratos inteligentes eram obrigados a sempre ter saldo suficiente para pagar pelo armazenamento, ou então seriam desativados até que alguém aparecesse para revivê-lo. Portanto, eliminar isso reduz muito o fardo dos desenvolvedores, disse Parity. 

Com a coleta automática de depósitos, os custos de armazenamento são pagos pelo chamador de cada contrato inteligente, em oposição ao próprio contrato. O chamador paga um depósito e, em seguida, um novo armazenamento é criado como resultado dessa chamada. A paridade explicou que esse mecanismo eliminará qualquer possibilidade de os contratos inteligentes ficarem inativos. Mesmo assim, Parity disse que os autores do contrato ainda devem trabalhar para usar o mínimo de armazenamento possível, criando maneiras de remover o armazenamento quando não for mais necessário, para manter os custos de armazenamento baixos. 

Fonte: https://zycrypto.com/with-latest-update-ink-3-0-programming-language-achieves-parity-with-rust/