Para começar a desenvolver em uma tecnologia específica, é necessário estabelecer as bases e aprender uma série de conceitos fundamentais. Com este workshop, focado na Stellar, daremos o primeiro passo para alcançar isso.
Neste tutorial, reunimos os conceitos fundamentais da Stellar abordados no primeiro tutorial do programa StellarEdu, que você pode ver aqui. Vamos aprender sobre suas características principais e descobrir o necessário para começar a desenvolver aplicações inovadoras nesta plataforma.
Web3 e Stellar
Hoje em dia, há milhões de desenvolvedores Web2 em todo o mundo, mas quando tentamos dar o salto para o mundo Web3, o número diminui drasticamente. Isso ocorre porque a adoção da tecnologia ainda está em suas fases iniciais, o que significa que há menos pessoas com experiência no desenvolvimento para o mundo Web3.
Atualmente, existem muitas opções para que os desenvolvedores possam incorporar as novas tecnologias, como Stellar, em suas soluções. Isso significa que qualquer desenvolvedor Web2, sem necessidade de ter um profundo conhecimento do mundo Web3, pode começar a realizar diversas tarefas. Apenas sabendo como chamar uma API e como programar o cliente de uma API, você pode começar a fazer coisas como integrar contratos inteligentes de maneira simples, e até mesmo criar e implantar seu primeiro contrato na rede.
Dentro do ecossistema Web3, a Vottun desempenha um papel importante, pois oferece um conjunto de ferramentas (como APIs ou SDKs) prontas para serem utilizadas pelos desenvolvedores. É uma plataforma multichain e agnóstica das diferentes redes que se adapta às necessidades de qualquer desenvolvedor e ao tamanho de qualquer empresa.
Stellar
É uma plataforma de código aberto que facilita a transferência de valores através do uso de seu criptoativo, o lúmen (XLM).
O funcionamento da Stellar é baseado nos seguintes pontos:
- Protocolo de consenso (SCP).
- Transações rápidas e baratas.
- Inclusão financeira.
- Escalabilidade e eficiência.
Você pode aprender mais sobre o que é o Stellar nos tutoriais do programa StellarEdu.
Stellar Stack
Stellar Core
Stellar Core é a espinha dorsal do Stellar. É responsável por validar e concordar com os nós sobre o estado das transações. É composto pelos seguintes elementos:
- SCP: Protocolo de Consenso Stellar, é o protocolo específico do Stellar.
- Herder: é um componente intermediário que lida com a comunicação entre SCP e o restante da rede.
- Overlay: rastreia os nós conectados ao SCP e ao herder.
- Ledger: é o livro-razão do Stellar, que registra todas as transações.
- History: é um dos elementos de armazenamento de transações da Stellar. Ele se encarrega de salvá-las e agrupá-las para que possam ser auditadas posteriormente.
- Bucket List: outro elemento de armazenamento, que como o nome sugere, armazena tudo o que passa pela rede Stellar.
- Transactions: como o próprio nome indica, são as transações que circulam pela rede.
Todos esses componentes estão detalhadamente explicados em seu repositório no Github.
Horizon API
Horizon é uma interface de programação de aplicativos (API) que fornece acesso à rede Stellar. Essencialmente, é um servidor HTTP que atua como intermediário entre aplicativos e a rede Stellar, comunicando-se com o Stellar Core. As funcionalidades do Horizon incluem:
- Envio de transações.
- Consulta ao estado da rede Stellar.
- Acesso a dados históricos.
- Eventos em tempo real.
A Stellar Development Foundation (SDF) é responsável por manter os diversos SDKs e outros elementos importantes para o desenvolvimento. Você pode encontrar todos esses elementos importantes para desenvolver na Stellar neste link.
SDKs
Um SDK (Software Development Kit) é um conjunto de ferramentas, bibliotecas, documentação e exemplos de código que os desenvolvedores utilizam para criar aplicativos.
Stellar possui uma ampla gama de SDKs que são mantidos em diferentes linguagens como JavaScript, Go e Rust, entre outros
RPCs y CLI
Dois conceitos típicos de outras blockchains que também devemos conhecer são:
- RPCs: A sigla para Remote Procedure Call, no contexto de uma blockchain, é um mecanismo que permite a um cliente enviar solicitações a um nó da blockchain para realizar operações específicas na cadeia de forma remota. É o recurso utilizado quando não se tem uma API.
- CLI: A sigla para Command Line Interface. É uma ferramenta de linha de comando que permite aos usuários interagir com a rede Stellar executando comandos a partir de um terminal.
Para aprofundar mais nessas áreas, recomendamos dois links: o primeiro é um guia para instalar um nó na rede Stellar, e o segundo contém informações sobre os diferentes procedimentos disponíveis para interagir com o nó instalado.
Redes Stellar
As três principais redes que qualquer desenvolvedor em Stellar deve conhecer são:
Mainnet: É a principal rede utilizada por aplicativos em produção. Conecta-se a vias financeiras reais e requer XLM para mostrar saldos mínimos, taxas de transação e aluguel. Também é chamada de Pubnet. As principais características da mainnet são:
- Os nós validadores são gerenciados pelo público.
- É necessário que a conta na mainnet contenha XLM para funcionar.
- Limitada a 1000 operações por ledger e um máximo de 100 transações de contratos inteligentes por ledger.
Testnet: É uma rede menor e gratuita, mantida pela SDF, que opera como a mainnet, mas não se conecta a dinheiro real. A Stellar possui um faucet XLM na testnet incorporado chamado Friendbot. As principais características da testnet são:
- Ejecuta tres nodos validadores.
- Ofrece una instancia gratuita de Horizon API.
- Está limitada a 100 operaciones por ledger y una transacción de contrato inteligente por ledger.
- Ofrece puntos finales RPCs gratuitos.
Futurnet: es una red de desarrollo que puedes utilizar para probar más funciones de vanguardia y que también tiene acceso a su propio Friendbot. Las características principales de la futurnet son las siguientes:
- Executa três nós validadores.
- Oferece uma área gratuita da Horizon API.
- Limitada a 100 operações por ledger e uma transação de contrato inteligente por ledger
- Oferece pontos finais RPCs gratuitos.
Estruturas de dados
Entre as estruturas de dados utilizadas pela Stellar, podemos mencionar as seguintes:
Ledger
- A ledger da Stellar mostra o estado do livro-razão em qualquer momento. É compartilhado entre todos os nós principais da rede e contém a lista de contas e saldos, ordens de troca distribuída, dados de contratos inteligentes e qualquer outra informação existente.
- Outras blockchains se referem a esse conceito como bloco e toda a blockchain como ledger.
- Em cada rodada do Protocolo de Consenso Stellar (SCP), a rede chega a um consenso sobre qual conjunto de transações será aplicado à última ledger (bloco) fechada e quando o novo conjunto de transações é aprovado, uma nova ledger é definida.
- Cada ledger está criptograficamente vinculada à única ledger anterior, criando um histórico de blocos que remonta ao bloco genesis.
Contas
As contas sustentam a estrutura central da Stellar, pois mantêm saldos, assinam transações e emitem ativos. Os requisitos para abrir uma conta são a existência de um par de chaves e a existência do saldo mínimo de XLM. As três principais características das contas são:
- Subentries: os dados das contas são armazenados em sub-entradas.
- Reservas de base: esse parâmetro indica o saldo mínimo de uma conta. À medida que existem mais sub-entradas, há mais reservas de base.
- Linhas de confiança: são autorizações para que as contas possam lidar com um ativo específico.
Ativos
Os ativos, ou assets, podem representar muitas coisas, como: criptomoedas (por exemplo, bitcoin e ether), moedas fiduciárias (como o dólar e o real), tokens de valor (como NFTs), ações de pools ou títulos e ações. Dois elementos dos ativos são:
- Código: é o código de identificação de um ativo.
- Emissor (issuer): é a conta que criou o ativo.
Operações e transações
Para realizar ações na Stellar, é necessário agrupar uma série de operações em diferentes transações e cada transação deve ser assinada e enviada para a rede.
Operações: são comandos individuais que modificam a ledger. As operações são usadas para enviar pagamentos, acionar uma função de um contrato inteligente, inserir ordens no DEX, alterar a configuração das contas e permitir que as contas mantenham ativos.
Transações: a rede Stellar codifica transações usando um protocolo padronizado chamado External Data Representation (XDR).
Contratos inteligentes
É outra estrutura de dados fundamental no Stellar que explicaremos detalhadamente no próximo workshop.
Conceitos adicionais
Aqui estão alguns conceitos adicionais que consideramos que você deve aprender, caso não os conheça, para continuar sua formação no desenvolvimento na Stellar:
Anchors
Um anchor é um termo específico da Stellar para operações de entrada/saída que conectam a rede Stellar com diferentes instituições financeiras. Os anchors aceitam depósitos de moeda fiduciária e, em seguida, entregam aos usuários criptoativos compatíveis com a rede Stellar. Você pode consultar os diferentes anchors disponíveis atualmente no site do Stellar. É possível configurar um anchor usando a plataforma SDF.
SEP
SEP é a sigla para Proposta de Ecossistema Stellar. Essas propostas definem padrões para construir uma infraestrutura específica sobre a rede Stellar. São documentos de código aberto criados publicamente, disponíveis no repositório do GitHub. É um conceito semelhante aos ERCs no Ethereum.Recomendamos que você assista ao vídeo do workshop em nosso canal do YouTube, para que, além desses conceitos, você possa conhecer outros elementos que compartilhamos neste workshop.
Sigue aprendiendo con nuestros artículos relacionados:
Introdução à blockchain da Stellar
A blockchain da Stellar é uma rede descentralizada pública desenhada para facilitar a transferência rápida, segura e econômica de ativos digitais.
Entendendo o funcionamento técnico da Stellar
A blockchain Stellar é muito mais que apenas uma rede descentralizada para transferências de ativos digitais. Sua arquitetura inovadora e seu protocolo de consenso eficiente a tornam uma opção atraente tanto para usuários individuais quanto para empresas.