Ir para o conteúdo
Coinbosa
Ecossistema Blockchain & BOSA Desenvolvedores Sobre Junte-se ao ecossistema

Construir na Coinbosa Chain

A blockchain é compatível com EVM: MetaMask, Hardhat, Foundry, ethers.js e viem se conectam a ela sem adaptação. Esta página descreve o que funciona e diz onde estão os limites — tanto os do endpoint público quanto os da rede.

Primeiros passos

Três campos, e a rede está acessível.

Uma rede EVM se descreve por um punhado de valores. Eles não são intenções: aplicam-se a cada bloco e se releem na blockchain.

CampoValor a inserir
Nome da redeCoinbosa Chain
Nova URL de RPChttps://explorer.coinbosa.com/rpc
Identificador da blockchain262620x6696 em hexadecimal
Símbolo da moedaBOSA
Casas decimais18
URL do exploradorhttps://explorer.coinbosa.com

Abrir a adição manual

Abrir o seletor de rede, depois “Adicionar rede” e “Adicionar uma rede manualmente”. A Coinbosa Chain é inserida manualmente: é o caminho normal para uma rede que a carteira não conhece de antemão.

Copiar os campos

A carteira consulta o endpoint e recusa o registro se o identificador devolvido pelo nó não corresponder ao que foi digitado. Esse controle protege contra um endpoint que se faça passar por outra rede.

Verificar antes de assinar

Os saldos são exibidos em BOSA e o último bloco avança no ritmo do consenso Parlia — alvo de 5 s, medição de 5,018 s em 500 blocos consecutivos.

As 18 casas decimais não são um ajuste. A unidade básica de uma máquina virtual Ethereum é o wei, valor fixado no código tanto no cálculo do gas quanto em todas as carteiras. Nenhum campo permite mudá-la.

Conexão

Adicionar a rede via código.

Um aplicativo pode propor a adição da rede em um único prompt, sem que o usuário precise copiar nada.

wallet_addEthereumChain
await window.ethereum.request({
  method: 'wallet_addEthereumChain',
  params: [{
    chainId: '0x6696',
    chainName: 'Coinbosa Chain',
    nativeCurrency: { name: 'Coinbosa', symbol: 'BOSA', decimals: 18 },
    rpcUrls: ['https://explorer.coinbosa.com/rpc'],
    blockExplorerUrls: ['https://explorer.coinbosa.com']
  }]
});

O identificador é transmitido em hexadecimal

26262 se escreve aqui 0x6696, com prefixo e sem zero à esquerda. É o erro mais frequente desta etapa: um identificador passado em decimal é recusado, muitas vezes sem mensagem explícita. eth_chainId devolve a mesma forma.

O prompt não é uma garantia

Qualquer site pode pedir a adição de uma rede, com o nome e o símbolo que quiser. O que identifica uma blockchain é o seu identificador, o hash do seu bloco 0 e o endereço do endpoint.

Ferramental

Configurar Hardhat e Foundry.

Nenhum plugin específico é necessário: para essas ferramentas, a Coinbosa Chain é uma rede EVM como outra qualquer. Só a versão da EVM visada exige atenção.

hardhat.config.js
module.exports = {
  solidity: {
    version: '0.8.26',
    settings: { evmVersion: 'shanghai' }
  },
  networks: {
    coinbosa: {
      url: 'https://explorer.coinbosa.com/rpc',
      chainId: 26262,
      accounts: [process.env.CLE_PRIVEE]   // nunca em texto claro no repositório
    }
  }
};
foundry.toml
[profile.default]
solc_version = "0.8.26"
evm_version = "shanghai"

[rpc_endpoints]
coinbosa = "https://explorer.coinbosa.com/rpc"

# forge script script/Deploy.s.sol \
#   --rpc-url coinbosa --broadcast

Compile para Shanghai, não para Cancun. O Solidity tem Cancun como alvo por padrão: sem evmVersion: 'shanghai'

Uma chave privada nunca se coloca em um arquivo de configuração. Ela é lida a partir de uma variável de ambiente ou de um armazenamento criptografado, e seu arquivo permanece fora do repositório. Nenhum membro da equipe Coinbosa jamais pedirá sua chave nem sua frase de recuperação.

DeFi & DEX

Uma suíte DeFi e DEX nativa.

A Coinbosa Chain integra uma suíte DeFi & DEX nativa: nela os desenvolvedores emitem contratos inteligentes, criam pools de liquidez e implantam tokens BRC20 sem restrição.

Emitir contratos inteligentes

A implantação passa pelas ferramentas EVM habituais, aquelas configuradas acima. Uma transação assinada basta: nada a pedir, nada a submeter a aprovação prévia.

Criar pools de liquidez

Os pools são implantados como contratos comuns e se apoiam nos tokens BRC20 da blockchain, cuja interface é descrita mais abaixo.

Implantar tokens sem restrição

A emissão de um token BRC20 não está condicionada a nenhuma autorização. A única convenção a respeitar é a da interface, para permanecer compatível com as carteiras e os serviços que falam ERC-20.

Tokens

O padrão BRC20.

BRC20 — Bosa smart contract 20 — é o padrão de token da blockchain. Sua interface é compatível com ERC-20: qualquer carteira, qualquer ponte, qualquer serviço que fale ERC-20 funciona sem adaptação.

IBRC20.sol — interface mínima
interface IBRC20 {
    function name()        external view returns (string memory);
    function symbol()      external view returns (string memory);
    function decimals()    external view returns (uint8);
    function totalSupply() external view returns (uint256);
    function getOwner()    external view returns (address);

    function balanceOf(address compte) external view returns (uint256);
    function allowance(address proprietaire, address delegue) external view returns (uint256);

    function transfer(address vers, uint256 montant) external returns (bool);
    function approve(address delegue, uint256 montant) external returns (bool);
    function transferFrom(address de, address vers, uint256 montant) external returns (bool);

    event Transfer(address indexed de, address indexed vers, uint256 montant);
    event Approval(address indexed proprietaire, address indexed delegue, uint256 montant);
}

A propriedade se transmite em duas etapas

É a única diferença de comportamento notável em relação a um ERC-20 comum. transferOwnership designa um destinatário pendente, sem ceder nada; a propriedade só muda quando ele chama acceptOwnership a partir do seu endereço.

Por que esse desvio

Uma transferência em etapa única para um endereço digitado errado é irreversível: ninguém detém a chave dele, nenhuma função reservada ao proprietário pode mais ser chamada, o contrato fica órfão para sempre. A segunda etapa prova que o destinatário controla o endereço.

O que o BRC20 acrescenta

getOwner expõe o proprietário de forma padronizada. mint é reservado ao proprietário e se encerra definitivamente com finishMinting; burn está aberto ao portador. Por fim, increaseAllowance e decreaseAllowance evitam a condição de corrida de approve.

Existe um padrão homônimo no Bitcoin, sem relação técnica. O BRC-20 das inscrições Ordinals só compartilha o nome com este: escrever “BRC20 da Coinbosa” elimina a ambiguidade.

Superfície exposta

O que o endpoint público aceita.

O nó público serve para ler a blockchain e enviar transações assinadas para ela. O que permitiria inspecioná-lo ou controlá-lo está fechado, e as requisições caras são limitadas: sem limite, um pedido de duzentos bytes pode exigir a varredura de toda a blockchain.

FamíliaStatusO que isso abrange
ethabertaBlocos, saldos, armazenamento, estimativa de gas, logs, envio de transações assinadas.
netabertaIdentidade da rede — o que uma carteira precisa para adicionar a blockchain.
web3fechadaPublica a versão exata do cliente e o hash do seu commit — uma lista de alvos pronta para uso.
personal, adminfechadasChaves do keystore do nó, pares, serviços, escrita de arquivos.
debug, txpool, minerfechadasEstado interno, fila de transações, produção de blocos.
TransporteHTTPS, somente POST — qualquer outro método é recusado.
Tamanho de uma requisiçãoSujeita a um teto; uma requisição mais pesada é recusada antes do processamento.
Chamadas em loteSujeitos a um teto por requisição HTTP.
Intervalo de logsLimitada por chamada a eth_getLogs; os históricos longos são lidos em fatias.
Filtros de logsNúmero de endereços e de tópicos alternativos limitado por posição de pesquisa.
Origem do navegadorsomente explorer.coinbosa.com; as chamadas de servidor para servidor não são afetadas.

Este endpoint foi feito para ler e para enviar. Ele não expõe assinatura WebSocket: um aplicativo consulta o nó periodicamente em vez de assinar. E reler um estado em um bloco antigo exige um nó de arquivo, que qualquer um pode executar a partir do repositório.

Verificação

A base é relida na blockchain.

Os valores abaixo são os do whitepaper. Eles não exigem que se acredite em nós: duas requisições bastam para reencontrá-los.

Consenso e tempo de blocoParlia — Alvo: 5 s | Medição: 5,018 s em 500 blocos
Identificador da blockchain26262 — proteção anti-replay EIP-155
Transição de epochIntervalos de validadores fixados — verificado nos blocos 200, 400, 600, 800
Contrato de sistema do consensoEscrito sob medida (Solidity / Go-Ethereum), em funcionamento direto na blockchain
Padrão de token nativoBRC20, compatível com ERC-20 — banco de testes automatizados
Oferta de BOSA700.000.000, 18 casas decimais
Hash do bloco 00x8dcdadc247a98f33728cae944e20ce7c49c74b35cfba31495f85e98979018da6
Raiz de estado do bloco 00x93682eb9182a55531d47014b76a285b45d3e720a2951f9ffbdc67f52995f8c03
Entrada em produção7 de agosto de 2026
Verificar a identidade da blockchain
# doit renvoyer "0x6696" — soit 26262
curl -s -X POST https://explorer.coinbosa.com/rpc \
  -H 'content-type: application/json' \
  -d '{"jsonrpc":"2.0","id":1,"method":"eth_chainId","params":[]}'

# doit renvoyer l empreinte 0x8dcdadc2... publiee plus haut
curl -s -X POST https://explorer.coinbosa.com/rpc \
  -H 'content-type: application/json' \
  -d '{"jsonrpc":"2.0","id":1,
       "method":"eth_getBlockByNumber","params":["0x0",false]}'

O código é público

O cliente, os contratos, o genesis e os scripts de implantação são publicados no repositório Coinbosa. Recompilar o genesis deve devolver exatamente o hash do bloco 0 publicado acima.

O que identifica a blockchain

Um nome e um símbolo se copiam; um identificador de blockchain e um hash de bloco 0, não. São eles que devem ser comparados antes de enviar uma transação, e o explorador os exibe de forma explícita.

Quem responde por esta redeO responsável, o ecossistema construído em torno da blockchain e a distribuição da oferta de BOSA.

Abrir a página Sobre