Aula 095: Desenvolvendo Aplicações Móveis com Solana
Nesta aula, vamos explorar como construir aplicações móveis que interagem com a blockchain Solana. A Solana ganhou tração significativa devido à sua alta capacidade de processamento e baixas taxas de transação, tornando-se uma escolha interessante para desenvolvedores móveis que desejam criar aplicações descentralizadas (dApps).
Configurando o Ambiente
Antes de mergulhar no código, certifique-se de que você tem o seguinte configurado em sua máquina de desenvolvimento:
- Rust: Instale o Rust usando rustup.
- Solana CLI: Instale as ferramentas de linha de comando da Solana. Siga o guia de instalação na documentação oficial da Solana.
- React Native: Certifique-se de ter um ambiente React Native funcionando. Você pode seguir o guia React Native - Começando para configurá-lo.
Criando um Novo Projeto React Native
Primeiro, vamos criar um novo projeto React Native:
npx react-native init SolanaMobileApp
cd SolanaMobileApp
Integrando a Solana
Usaremos a biblioteca @solana/web3.js
para interagir com a blockchain Solana. Instale a biblioteca:
npm install @solana/web3.js
Conectando-se à Blockchain Solana
Em seu App.js
, você pode configurar uma conexão com a blockchain Solana:
import React, { useEffect } from 'react';
import { StyleSheet, Text, View } from 'react-native';
import { Connection, PublicKey } from '@solana/web3.js';
const App = () => {
useEffect(() => {
const connection = new Connection('https://api.mainnet-beta.solana.com', 'confirmed');
const getAccountInfo = async (publicKey) => {
const accountInfo = await connection.getAccountInfo(new PublicKey(publicKey));
console.log('Informações da Conta:', accountInfo);
};
// Substitua por uma chave pública válida da Solana
const publicKey = 'SuaChavePublicaAqui';
getAccountInfo(publicKey);
}, []);
return (
<View style={styles.container}>
<Text>Bem-vindo ao Aplicativo Móvel Solana!</Text>
</View>
);
};
const styles = StyleSheet.create({
container: {
flex: 1,
justifyContent: 'center',
alignItems: 'center',
backgroundColor: '#F5FCFF',
},
});
export default App;
Buscando o Saldo da Carteira
Para buscar o saldo de uma carteira Solana, você pode usar o método connection.getBalance
:
const getWalletBalance = async (publicKey) => {
const lamports = await connection.getBalance(new PublicKey(publicKey));
const saldoEmSol = lamports / 1e9; // Converter lamports para SOL
console.log('Saldo da Carteira (SOL):', saldoEmSol);
};
Enviando SOL de uma Carteira para Outra
Para enviar SOL, precisamos criar e assinar uma transação. Abaixo está um exemplo de como você pode fazer isso:
import { Keypair, Transaction, SystemProgram } from '@solana/web3.js';
const sendSol = async (senderKeypair, receiverPublicKey, amount) => {
const transaction = new Transaction().add(
SystemProgram.transfer({
fromPubkey: senderKeypair.publicKey,
toPubkey: new PublicKey(receiverPublicKey),
lamports: amount * 1e9, // Converter SOL para lamports
})
);
const signature = await connection.sendTransaction(transaction, [senderKeypair]);
console.log('Assinatura da Transação:', signature);
};
Manipulando Chaves
Para criar um par de chaves em um aplicativo móvel, você pode usar o seguinte trecho de código:
const createKeypair = () => {
const keypair = Keypair.generate();
console.log('Chave Pública:', keypair.publicKey.toString());
console.log('Chave Secreta:', keypair.secret);
return keypair;
};
Exemplo de Uso
Você pode combinar todas essas funções para construir um fluxo simples de aplicação em seu App.js
:
const App = () => {
const senderKeypair = createKeypair(); // Cria uma nova carteira (para fins de demonstração)
const receiverPublicKey = 'ChavePublicaDoRecebedorAqui';
useEffect(() => {
getWalletBalance(senderKeypair.publicKey.toString());
sendSol(senderKeypair, receiverPublicKey, 0.01); // Envia 0.01 SOL
}, []);
return (
<View style={styles.container}>
<Text>Bem-vindo ao Aplicativo Móvel Solana!</Text>
</View>
);
};
Conclusão
Nesta aula, exploramos como construir uma aplicação móvel React Native que interage com a blockchain Solana utilizando a biblioteca @solana/web3.js
. Abordamos como estabelecer uma conexão, buscar saldos de carteiras, enviar SOL e gerenciar chaves. Esta base permite que você amplie sua aplicação com funcionalidades mais complexas, como a cunhagem de NFTs, uso de identidades descentralizadas e interação com contratos inteligentes na Solana.
Com esta configuração, você agora tem as ferramentas necessárias para começar a desenvolver aplicações móveis baseadas em Solana. Boa codificação!