SwiftHTML & CSSSolidityDesenvolvimento de JogosSolana/Rust
21.11.2024

Aula 091: Contribuindo para Projetos Open Source do Solana

Contribuir para projetos de código aberto é uma excelente forma de melhorar suas habilidades de programação, colaborar com outros desenvolvedores e retribuir à comunidade. Solana, conhecida por sua blockchain de alto desempenho, possui um ecossistema vibrante de código aberto. Nesta aula, abordaremos como começar a contribuir para projetos do Solana, incluindo diretrizes, recursos e código de exemplo.

Entendendo o Ecossistema Solana

Antes de mergulhar nas contribuições, é essencial familiarizar-se com o ecossistema Solana. Aqui estão alguns componentes-chave:

  • Solana Core: A estrutura subjacente da blockchain.
  • Solana SDK: Ferramentas e bibliotecas para desenvolvimento no Solana.
  • Programas Solana: Contratos inteligentes implantados na blockchain Solana.
  • Carteira Solana: Uma ferramenta para gerenciar tokens e interagir com programas.

Começando as Contribuições

  1. Identifique Seus Interesses: Determine quais partes do ecossistema Solana lhe interessam. Isso pode ser desde o código da blockchain principal, contratos inteligentes específicos, melhorias no SDK ou ferramentas para desenvolvedores.

  2. Configure Seu Ambiente de Desenvolvimento: Certifique-se de que tudo esteja configurado para construir e executar projetos Solana:

    # Clone o repositório do Solana
    git clone https://github.com/solana-labs/solana.git
    cd solana
    
    # Instale Rust e Cargo (se ainda não estiver instalado)
    curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
    source $HOME/.cargo/env
    
    # Compile o Solana
    cargo build
  3. Explore a Documentação: Familiarize-se com a documentação do Solana. Entender o código existente e a arquitetura ajudará você a encontrar uma maneira de contribuir de forma eficiente.

  4. Participe da Comunidade: Fazer parte da comunidade Solana pode ajudá-lo a aprender e obter feedback mais rapidamente. Junte-se ao Discord do Solana, aos fóruns do GitHub ou participe de discussões para conhecer outros desenvolvedores.

Encontrando Problemas Para Trabalhar

O repositório do GitHub do Solana possui uma lista de problemas rotulados como "boas primeiras contribuições", que são adequados para novos colaboradores. Aqui está como encontrá-los:

Exemplo de Contribuição: Programa Simples

Criando um Programa Simples do Solana

Vamos construir um programa simples do Solana que incrementa um contador na memória on-chain.

  1. Configure o Projeto: Crie um novo diretório para o programa:

    solana program create my_counter
    cd my_counter
  2. Código do Programa: Edite lib.rs para implementar um contador simples.

    use solana_program::{
       account_info::{next_account_info, AccountInfo},
       entrypoint, entrypoint::ProgramResult,
       msg,
       pubkey::Pubkey,
       program_error::ProgramError,
       system_instruction,
       sysvar::{self, Sysvar},
    };
    
    entrypoint!(process_instruction);
    
    pub fn process_instruction(
       program_id: &Pubkey,
       accounts: &[AccountInfo],
       instruction_data: &[u8],
    ) -> ProgramResult {
       let accounts_iter = &mut accounts.iter();
       let account = next_account_info(accounts_iter)?;
    
       if account.owner != program_id {
           msg!("ID de programa inválido");
           return Err(ProgramError::IncorrectProgramId);
       }
    
       let mut counter = account.data.borrow_mut();
       let current_count = u64::from_le_bytes(counter[..8].try_into().unwrap());
       let new_count = current_count + 1;
       counter[..8].copy_from_slice(&new_count.to_le_bytes());
    
       msg!("Contador incrementado para {}", new_count);
       Ok(())
    }
  3. Compile o Programa:

    cargo build-bpf
  4. Implante o Programa: Implemente seu programa na rede de desenvolvimento do Solana.

    solana program deploy target/deploy/my_counter.so
  5. Teste Seu Programa: Você pode escrever um teste simples para interagir com o programa implantado em um arquivo de teste Rust separado.

    #[cfg(test)]
    mod tests {
       use super::*;
       use solana_program::program_test::ProgramTest;
    
       #[tokio::test]
       async fn test_increment() {
           // configurar teste do programa, implantar e iniciar estado
       }
    }

Fazendo um Pull Request

Uma vez que você tenha implementado suas alterações e testado tudo de forma minuciosa, é hora de enviar um Pull Request (PR).

  1. Faça um Fork do Repositório e clone seu fork.
  2. Crie uma nova branch:
    git checkout -b minha-branch-de-recurso
  3. Commita suas alterações:
    git commit -m "Adicionar programa de contador"
  4. Envie sua branch:
    git push origin minha-branch-de-recurso
  5. Crie um PR através da interface do GitHub com uma descrição clara do que seu código faz e quaisquer informações relevantes.

Conclusão

Contribuir para projetos de código aberto do Solana é uma maneira gratificante de aprimorar suas habilidades de programação e colaborar com uma comunidade vibrante. Comece identificando áreas de interesse, configurando seu ambiente de desenvolvimento e explorando problemas existentes. Lembre-se de documentar suas contribuições de forma minuciosa e interagir com outros membros da comunidade para obter feedback.

Bons códigos!

Did you like this article? Rate it from 1 to 5:

Thank you for voting!