NOVO: Helius adquire a Light Protocol
Como minerar Ore
Blog/Desenvolvimento

Como minerar Ore: um guia para iniciantes

Engenheiro de Experiência do DesenvolvedorAnam Ansari no XAnam Ansari no LinkedIn
12 min de leitura
Índice

Um grande agradecimento a Hardhat Chad e 0xIchigo pelo excelente feedback e pela ajuda na elaboração deste artigo!

Ore é um token de Prova de Trabalho desenvolvido na Solana que qualquer pessoa pode minerar de qualquer lugar. Logo após seu lançamento, em 2 de abril de 2024, foi considerado o projeto que derrubou a Solana. A Solana enfrentava um congestionamento significativo devido a transações de spam, a maioria causada por mineradores de Ore naquele período. O criador de Ore, Hardhat Chad, suspendeu posteriormente a mineração em 16 de abril de 2024. Em 6 de agosto de 2024, Ore v2 foi lançado e a mineração foi retomada. Ele introduziu um novo algoritmo de mineração, Drillx, e incentivos de token para motivar as pessoas a fazer staking do token. Desde o lançamento, as transações de Ore representam atualmente ~5% de cada bloco. 

Neste artigo, exploraremos a Prova de Trabalho e a mineração, remontando às suas origens no Bitcoin. Depois, compararemos a mineração de Ore com a mineração de Bitcoin antes de aprender a minerar ORE pelo aplicativo web e pela Interface de Linha de Comando (CLI).

Bitcoin

Bitcoin é a primeira criptomoeda, apresentada por Satoshi Nakamoto em 2008. Ela introduziu o conceito de blockchains, nas quais blocos (ou seja, lotes de transações) são encadeados e se tornam imutáveis por meio do encadeamento de hashes. Essencialmente, o hash de um bloco é um número hexadecimal de 64 dígitos resultante do envio dos registros das transações contidas em um bloco pelo algoritmo de hash SHA256. Cada bloco usa o hash do bloco anterior para conectá-los, criando assim uma cadeia de blocos. Essa propriedade torna as blockchains imutáveis: o valor do hash não corresponderá se os dados forem alterados. 

Qualquer pessoa pode calcular e fornecer o hash de um bloco. Primeiro, a rede define um valor de hash-alvo. O hash-alvo é usado para determinar a dificuldade de mineração. A dificuldade de mineração é um parâmetro dinâmico ajustado a cada 2.016 blocos, ou aproximadamente a cada duas semanas. Ele garante que os blocos sejam adicionados à blockchain em um ritmo constante de aproximadamente um a cada 10 minutos. Os mineradores (ou seja, qualquer pessoa com equipamento e software de mineração) resolvem um problema matemático complexo para encontrar um hash menor ou igual ao hash-alvo. Todos os mineradores da rede fazem isso até que a combinação correta de hash e nonce (número usado apenas uma vez) seja encontrada. Quem a encontra primeiro recebe uma recompensa em Bitcoin e taxas pelo trabalho realizado. Portanto, a mineração é simplesmente o processo de resolver problemas matemáticos complexos, enviar hashes e receber recompensas pela computação realizada. No entanto, resolver esses problemas exige muito poder de processamento e energia. 

Esse processo de mineração é chamado de Prova de Trabalho (PoW). O trabalho realizado para gerar o hash vencedor é visto como prova de que o minerador validou as transações do bloco, comprovando que esse trabalho foi feito. PoW é um mecanismo de consenso. O consenso é alcançado depois que o bloco é fechado e adicionado à cadeia. Enquanto trabalham na proposta de novos blocos e na geração de hashes vencedores, os mineradores também validam cada novo bloco à medida que ele é adicionado. Cada minerador transmite à rede que o bloco foi confirmado como válido. Novos blocos usam o hash do cabeçalho do bloco anterior, criando uma cadeia de provas que leva ao consenso da rede. É por isso que essas provas são chamadas de mecanismos de consenso: elas formam a base de como o consenso é alcançado. Isso exige pouca energia ou poder computacional, pois cada nó de mineração faz isso enquanto minera o bloco mais recente. À medida que novos blocos são adicionados, a rede os confirma.

O fornecimento total de Bitcoin é limitado a 21 milhões. No momento da publicação, cerca de 19 milhões de Bitcoins já haviam sido minerados. Em 2009, o bloco gênese (ou seja, o primeiro bloco) foi minerado por seu criador pseudônimo, Satoshi Nakamoto, que recebeu 50 Bitcoins como recompensa. 

Ore

Ore, assim como Bitcoin, é um token de Prova de Trabalho, mas foi implementado como um programa sobre a Solana. Ele pode ser minerado em qualquer notebook, celular ou computador doméstico. Ore v1 tinha alguns problemas. Primeiro, era fácil demais manipular o sistema, o que gerou spam em massa e congestionou a Solana. Outro problema era a venda imediata de ORE, pois os mineradores não tinham motivo para fazer outra coisa além de resgatar e vender, fazendo o valor do token cair de cerca de US$ 4.000 para aproximadamente US$ 120.

Para sobreviver, Ore v2 fez várias mudanças significativas em relação à versão v1, que era mais simples:

  1. A introdução de um novo algoritmo de mineração menos suscetível a manipulações, chamado DrillX, garante que até mesmo mineradores em celulares e notebooks simples nunca sejam excluídos da mineração de Ore por causa dos custos
  2. A introdução do staking de ORE para aumentar as recompensas de mineração cria uma fonte de demanda que incentiva os mineradores a manter os tokens em vez de resgatá-los e vendê-los

Assim como Bitcoin, Ore também tem um fornecimento fixo de 21 milhões de tokens. Em média, apenas 1 novo ORE será minerado por minuto. Portanto, por volta de 2064, todos os 21 milhões de ORE terão sido minerados. Recomendo a leitura do artigo de kelxyz no blog da Helius, que aborda Ore em mais detalhes.

Poder de hash

Poder de hash refere-se ao poder computacional usado para minerar criptomoedas, medido precisamente pelo número de cálculos (hashes) realizados por segundo. Um poder de hash maior indica maior capacidade computacional, permitindo que os mineradores resolvam problemas mais rapidamente e aumentem suas chances de receber recompensas.

Nesse caso, seu dispositivo resolverá o problema e enviará uma transação para minerar Ore. Para verificar o poder de hash do seu dispositivo, abra o Terminal/Prompt de Comando e execute o comando ore benchmark. Como alternativa, você pode verificar o poder de hash do dispositivo acessando o site de Ore. As capturas de tela abaixo mostram que meu dispositivo consegue gerar 600 hashes por minuto (choro, preciso de um notebook melhor). 

Drillx, o novo protocolo introduzido pelo Ore v2, é baseado em CPU. Isso significa que um dispositivo com mais núcleos consegue realizar cálculos mais rapidamente. Um núcleo é uma unidade de processamento individual dentro da CPU capaz de executar instruções. Quanto mais núcleos uma CPU tiver, mais tarefas poderá realizar simultaneamente. 

Como minerar Ore?

Você pode minerar ORE pela Interface de Linha de Comando (CLI) ou pelo aplicativo web no site de Ore. Minerar ORE consiste essencialmente em resolver um problema matemático complexo para encontrar o hash e depois enviar a transação. Portanto, existem duas maneiras de aumentar suas recompensas de mineração: usar um dispositivo com alto poder computacional e conseguir incluir transações mais rapidamente. Drillx, o novo protocolo introduzido pelo Ore v2, é baseado em CPU. Isso significa que um dispositivo com mais núcleos consegue realizar cálculos mais rapidamente. Um núcleo é uma unidade de processamento individual dentro da CPU capaz de executar instruções. Quanto mais núcleos uma CPU tiver, mais tarefas poderá realizar simultaneamente. 

Para aumentar as taxas de inclusão, use Staked Connections e taxas de prioridade. As Staked Connections oferecem acesso prioritário ao líder (o validador que está executando a transação no momento), garantindo que suas transações sejam processadas por ele e não sejam descartadas antes disso. Durante a etapa de processamento da transação, as taxas de prioridade incentivam o validador a executar sua transação antes das demais. Em resumo, as Staked Connections ajudam a enviar suas transações ao líder, e as taxas de prioridade ajudam a executá-las mais rapidamente. Consulte este artigo para otimizar transações, minimizar a latência de confirmação e maximizar as taxas de entrega.

Usar a CLI oferece melhor acesso ao hardware do dispositivo e mais controle sobre a URL de RPC utilizada e as taxas de prioridade definidas. No entanto, o site pode ser um bom ponto de partida para iniciantes. 

Web

Primeiro, acesse o site de Ore e conecte sua carteira.

Você será redirecionado para criar uma nova conta de mineração. Ao clicar em “Criar conta”, será solicitado que você assine uma transação. Se receber o erro de “tempo limite excedido”, talvez seja necessário tentar novamente clicando em “Criar conta”. Esse erro ocorre quando a transação assinada não é processada e expira

A mineração começará automaticamente. Será solicitado que você assine as transações quando um hash for encontrado. Portanto, é melhor evitar executar esse processo em segundo plano.

Por fim, você pode voltar à página inicial para verificar seu saldo e clicar em “Resgatar” para transferir as recompensas para sua carteira. Também é possível verificar sua atividade acessando a guia Pessoal

CLI

Uma Interface de Linha de Comando (CLI) é uma interface de usuário baseada em texto usada para interagir com um sistema de computador, sistema operacional ou aplicativo em um terminal. Dependendo do seu sistema operacional, você deve abrir o Terminal (macOS e sistemas baseados em Linux) ou o Prompt de Comando (Windows).

Pré-requisitos

  1. Rust e Cargo
  2. Solana CLI

Você pode verificar se os programas acima foram instalados corretamente executando estes comandos:

Aqui, && é usado para executar os comandos em sequência.

Instalação no Windows

Rust e Cargo

Baixe e execute rustup-init.exe. A instalação será iniciada em um console e exibirá esta mensagem quando for concluída com sucesso: Rust is installed now.

Solana CLI

Abra o Prompt de Comando e execute os seguintes comandos:

Código
cmd /c "curl https://release.solana.com/v1.18.18/solana-install-init-x86_64-pc-windows-msvc.exe --output C:\solana-install-tmp\solana-install-init.exe --create-dirs"
Código
C:\solana-install-tmp\solana-install-init.exe v1.18.18

Instalação no Linux/macOS

Rust e Cargo

Código
curl https://sh.rustup.rs -sSf | sh

Solana CLI

Código
sh -c "$(curl -sSfL https://release.solana.com/v1.18.18/install)"

Instale a Ore CLI

Código
cargo install ore-cli

O mesmo comando pode ser usado para atualizar a CLI para versões mais recentes. 

Configure a rede

Vamos mudar a rede para a Mainnet, pois atualmente só é possível minerar ORE nela. Por padrão, Ore envia todas as solicitações de mineração para “https://api.mainnet-beta.solana.com”. O comando solana config set permite alterar a configuração. Com a flag --url, podemos mudar a configuração da rede: 

Código
solana config set --url https://api.mainnet-beta.solana.com

A URL pode ser alterada para qualquer URL de RPC. Por exemplo, a Helius oferece acesso às Staked Connections em seus planos compartilhados a partir de US$ 49/mês, o que é mais vantajoso do que usar a URL padrão. No comando acima, substitua a URL de RPC pela URL de RPC de sua preferência entre aspas duplas:

Código
solana config set --url "https://mainnet.helius-rpc.com/?api-key=<your-api-key>"

Configure uma carteira

Vamos criar uma carteira para assinar a transação, pagar as taxas da rede e receber as recompensas. (Se você já tiver uma carteira no dispositivo, pode pular esta etapa):

Código
solana-keygen new

O comando acima cria uma nova carteira. Precisaremos adicionar um pouco de SOL a essa nova carteira para cobrir as taxas das transações de mineração. Use este comando para obter a chave pública da carteira: 

Código
solana address

Copie o endereço e transfira um pouco de SOL para ele. Você também pode verificar o saldo dessa carteira usando o seguinte comando:

Código
solana balance

Sua carteira agora está pronta para minerar ORE!

Comece a minerar

Para minerar ORE com todas as configurações padrão, use: 

Código
ore mine

E pronto: a mineração de ORE será iniciada. 

Configurações avançadas

Para alterar a configuração padrão, adicionamos flags ao comando ore mine. As flags podem ser adicionadas usando este --<command>. É possível fornecer várias flags de uma só vez. 

RPC

Se quiser adicionar o endpoint da Mainnet do seu provedor de RPC, você poderá trocar de rede adicionando a flag --rpc seguida pelo endereço de rede do seu provedor de RPC:

Código
ore mine --rpc "https://mainnet.helius-rpc.com/?api-key=<your-api-key>"

Taxas de prioridade

Na captura de tela acima da mineração de ORE, a taxa de prioridade está definida como 50000 microlamports. Podemos alterar esse e outros parâmetros. Quando há congestionamento, as taxas de prioridade incentivam o validador (aquele que está executando as transações no momento) a processar suas transações. A ideia é que as transações que pagam taxas maiores sejam processadas primeiro, garantindo uma execução mais rápida para quem estiver disposto a pagar mais.

Use esta flag se quiser utilizar as taxas de prioridade dinâmicas fornecidas pelo seu provedor de RPC (desde que você o tenha configurado com a flag --rpc): 

Código
ore mine --rpc "https://mainnet.helius-rpc.com/?api-key=<your-api-key>"

Se você tiver outra URL para obter as taxas dinâmicas, adicione essa URL de RPC entre aspas duplas para estimá-las:

Código
ore mine --dynamic-fee-url <DYNAMIC_FEE_URL>

Você pode adicionar uma taxa de prioridade fixa usando a flag --priority-fee. Se forem usadas taxas dinâmicas, esse será o valor máximo utilizado. Observe que o valor padrão é 500000:  

Código
ore mine --priority-fee <MICROLAMPORTS>

Outras configurações

Quando criamos uma carteira, sua configuração (de pagador de taxas) é armazenada em um local padrão. Por exemplo: /Users/username/.config/solana/id.json

Se quiser usar como pagador de taxas outra carteira armazenada em um local diferente, você poderá adicionar o caminho do arquivo desse pagador de taxas usando este comando:

Código
ore mine --priority-fee <MICROLAMPORTS>

Como ORE é um token SPL, é criada uma Conta de Token Associada (ATA) na qual esse ORE é armazenado. Essa ATA foi criada quando começamos a minerar. Porém, se quiser que outra conta mantenha o ORE, você poderá adicionar o caminho do arquivo do par de chaves dela:

Código
ore mine --keypair <KEYPAIR_FILEPATH>

Para usar todos os comandos acima, você deve continuar acrescentando-os depois de ore mine. 

Como alternativa, você pode armazenar todas essas configurações em um arquivo YML e fornecer diretamente o caminho do arquivo:

Código
ore mine --config <PATH>

Um exemplo de arquivo config.yml terá esta aparência:

Código
---
json_rpc_url: https://mainnet.helius-rpc.com/?api-key=<your-key>
websocket_url: ''
keypair_path: /Users/example/.config/solana/id.json
address_labels:
  '11111111111111111111111111111111': System Program
commitment: confirmed

Observe que a Ore CLI é atualizada constantemente. Verifique se você está usando a versão mais recente da CLI para acessar novos comandos e todas as correções de bugs com o comando:   

Código
cargo install ore-cli

Você pode verificar a versão atual com o seguinte comando: 

Código
ore -V

O comando ore help lista todas as flags atuais, suas funções e seus argumentos.

Resgate ORE

Todo ORE minerado passa por restaking. Para encerrar o staking e resgatar esse ORE, basta executar o seguinte comando para enviar as recompensas de mineração à sua carteira:

Código
ore claim

Você pode usar o comando ore stake para fazer staking do seu saldo de ORE.

Conclusão

Bitcoin mostrou o caminho ao criar uma forma segura e descentralizada de gerenciar dinheiro digital. Agora, Ore está avançando ainda mais ao tornar a mineração mais justa com seu novo algoritmo. Sua nova versão usa staking para incentivar os mineradores a manter ORE em vez de vendê-lo. É fácil minerar ORE pelo aplicativo web ou pela CLI. A Backpack também publicou um guia sobre como minerar Ore pelo aplicativo de carteira. A Ore CLI recebe atualizações constantes com novos recursos, e todos os repositórios desse projeto são de código aberto. Para acompanhar as últimas novidades, recomendo seguir o fundador e a conta oficial de Ore no Twitter / X. 

Se você chegou até aqui, obrigado, anon! Insira seu endereço de e-mail abaixo para nunca perder uma novidade sobre a Solana. Quer se aprofundar? Confira os artigos mais recentes no blog da Helius e continue hoje mesmo sua jornada pela Solana.

Sites de Ore

Recursos

Assine a Helius

Acompanhe as novidades mais recentes do desenvolvimento Solana e receba atualizações quando publicarmos

Imagem ampliada