Turbine
Propagação de blocos via fragmentação de dados. Este guia destina-se a validadores Agave 4.1.1, Solana CLI 3.0.10, Anchor 0.32.1 e clientes @solana/kit 7.0.0.
Busque em todas as páginas da documentação
Propagação de blocos via fragmentação de dados. Este guia destina-se a validadores Agave 4.1.1, Solana CLI 3.0.10, Anchor 0.32.1 e clientes @solana/kit 7.0.0.
Cartão de receita de referência rápida.
solana config set --url devnet
solana balanceimport { createSolanaRpc } from "@solana/kit";
const rpc = createSolanaRpc("https://api.devnet.solana.com");Quando usar isto:
import { createSolanaRpc, address } from "@solana/kit";
const rpc = createSolanaRpc("https://api.devnet.solana.com");
const slot = await rpc.getSlot().send();
const sig = "COLE_ASSINATURA_APÓS_SEU_TX";
const tx = await rpc
.getTransaction(sig, { encoding: "json", maxSupportedTransactionVersion: 0 })
.send();
console.log({ slot, err: tx?.meta?.err, cu: tx?.meta?.computeUnitsConsumed });use anchor_lang::prelude::*;
#[program]
pub mod demo {
use super::*;
pub fn log_slot(_ctx: Context<LogSlot>) -> Result<()> {
let clock = Clock::get()?;
msg!("slot: {}", clock.slot);
Ok(())
}
}
#[derive(Accounts)]
pub struct LogSlot {}O que isto demonstra:
// Use matemática verificada e restrições explícitas em programas
require!(amount > 0, MyError::InvalidAmount);| Alternativa | Usar Quando | Não Usar Quando |
|---|---|---|
| @solana/kit 7.0.0 | Novos clientes TypeScript | Manutenção de código legado temporariamente |
| Solana CLI 3.0.10 | Operações e sondagens rápidas | Assinatura de transações em produção em escala |
| Surfpool 0.12.0 | Testes de integração do Anchor | Implantação em produção |
| LiteSVM 0.6.x | Testes unitários rápidos | Validação completa do comportamento da rede |
Validadores Agave 4.1.1 usam Turbine para distribuir fragmentos (shreds) para vizinhos com peso de stake em vez de transmitir blocos completos para todos os peers.
Use Solana CLI 3.0.10, que é compatível com Agave 4.1.1. Instale com agave-install init 4.1.1 (ou o arquivo de pin da sua equipe) e verifique com solana --version e agave-install --version.
Use @solana/kit 7.0.0 para novos métodos RPC com tipagem TypeScript, superfície de API menor e exemplos nesta página já usam Kit. Mantenha web3.js apenas para bases de código legadas; migre chamadas RPC e construção de transações incrementalmente.
Use confirmed para dashboards e finalized antes de saques ou callbacks entre sistemas.
Compare a progressão de slots com getSlot, inspecione lacunas na agenda do líder e verifique os logs do validador para falhas de reparo de fragmentos (shred repair). Finalidade lenta geralmente é rastreada até a contrapressão do Turbine, não seu programa.
Sim—aponte a CLI e o RPC para https://api.devnet.solana.com. O comportamento corresponde ao mainnet; apenas os dados da conta e a economia diferem.
Turbine é a rede do validador—seu orçamento de computação on-chain não é alterado. O congestionamento que você sente como um construtor é geralmente a competição de taxas de prioridade na fila do TPU, não o CU do Turbine.
Anchor 0.32.1 usa #[program], Context<T> e #[derive(Accounts)] com restrições explícitas de mut/signer—execute anchor build e anchor test em 0.32.1 via avm use 0.32.1.
Inicie o Surfpool 0.12.0, aponte o RPC para sua porta e execute anchor test ou scripts de integração do cliente contra contas forjadas.
LiteSVM exercita apenas a lógica do programa; ele não simula a propagação do Turbine ou caminhos de fragmentos de múltiplos validadores.
O cliente validador foi renomeado para Agave (4.1.1), a CLI 3.0.10 se alinha a ele, e o trabalho do Alpenglow está mudando a finalidade—fixe as versões e leia as notas de lançamento a cada atualização.
getSlot, getBlockHeight, getBlock (com commitment) e getLeaderSchedule ajudam a correlacionar atrasos visíveis para o cliente com a rotação do líder.
core-architecture-components para tópicos complementaresVersões da Stack: Esta página foi escrita para Agave 4.1.1, Solana CLI 3.0.10, Anchor 0.32.1, anchor-lang 0.32.1, Rust 1.91.1, @solana/kit 7.0.0, Surfpool 0.12.0 e LiteSVM 0.6.x.
Revisado por Chris St. John·Última atualização: 16 de jul. de 2026