Aller au contenu
Coinbosa
Écosystème Chaîne & BOSA Développeurs À propos Rejoindre l'écosystème

Construire sur Coinbosa Chain

La chaîne est compatible EVM : MetaMask, Hardhat, Foundry, ethers.js et viem s'y connectent sans adaptation. Cette page réunit ce qu'il faut pour s'y raccorder, y déployer un contrat et y émettre un jeton.

Démarrage

Trois champs, et le réseau est joignable.

Un réseau EVM se décrit par une poignée de valeurs. Elles ne sont pas des intentions : elles s'appliquent à chaque bloc et se relisent sur la chaîne.

ChampValeur à saisir
Nom du réseauCoinbosa Chain
Nouvelle URL de RPChttps://explorer.coinbosa.com/rpc
Identifiant de chaîne26262 — 0x6696 en hexadécimal
Symbole de la monnaieBOSA
Décimales18
URL de l'explorateurhttps://explorer.coinbosa.com

Ouvrir l'ajout manuel

Dérouler le sélecteur de réseau, puis « Ajouter un réseau » et « Ajouter un réseau manuellement ». Coinbosa Chain se saisit à la main : c'est la voie normale pour un réseau que le portefeuille ne connaît pas d'avance.

Recopier les champs

Le portefeuille interroge le point d'accès et refuse l'enregistrement si l'identifiant renvoyé par le nœud ne correspond pas à celui saisi. Ce contrôle protège contre un point d'accès qui se ferait passer pour un autre réseau.

Vérifier avant de signer

Les soldes s'affichent en BOSA et le dernier bloc avance au rythme du consensus Parlia — cible de 5 s, mesure à 5,0000 s sur 500 blocs consécutifs.

Les 18 décimales ne sont pas un réglage. L'unité de base d'une machine virtuelle Ethereum est le wei, valeur câblée dans le calcul du gas comme dans tous les portefeuilles. Aucun champ ne permet de la changer.

Connexion

Ajouter le réseau par le code.

Une application peut proposer l'ajout du réseau en une invite, sans que l'utilisateur recopie quoi que ce soit.

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']
  }]
});

L'identifiant se transmet en hexadécimal

26262 s'écrit ici 0x6696, préfixé et sans zéro de tête. C'est l'erreur la plus fréquente de cette étape : un identifiant passé en décimal est rejeté, souvent sans message explicite. eth_chainId renvoie la même forme.

L'invite n'est pas une garantie

N'importe quel site peut demander l'ajout d'un réseau, sous le nom et le symbole de son choix. Ce qui identifie une chaîne, c'est son identifiant, l'empreinte de son bloc 0 et l'adresse du point d'accès.

Outillage

Configurer Hardhat et Foundry.

Aucun greffon spécifique n'est nécessaire : pour ces outils, Coinbosa Chain est un réseau EVM comme un autre. Seule la version d'EVM visée demande une attention.

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]   // jamais en clair dans le depot
    }
  }
};
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

Compilez pour Shanghai, pas pour Cancun. Solidity vise Cancun par défaut : sans evmVersion: 'shanghai', le compilateur produit l'opcode MCOPY, que la chaîne rejette — la compilation réussit, le déploiement échoue.

Une clé privée ne se met jamais dans un fichier de configuration. Elle se lit depuis une variable d'environnement ou un magasin chiffré, et son fichier reste hors du dépôt. Aucun membre de l'équipe Coinbosa ne vous demandera jamais votre clé ni votre phrase de récupération.

DeFi & DEX

Une suite DeFi et DEX native.

La Coinbosa Chain intègre une suite DeFi & DEX native : les développeurs y émettent des contrats intelligents, y créent des pools de liquidité et y déploient des jetons BRC20 sans restriction.

Émettre des contrats intelligents

Le déploiement passe par les outils EVM habituels, ceux configurés ci-dessus. Une transaction signée suffit : rien à demander, rien à faire approuver au préalable.

Créer des pools de liquidité

Les pools se déploient comme des contrats ordinaires et s'appuient sur les jetons BRC20 de la chaîne, dont l'interface est décrite plus bas.

Déployer des jetons sans restriction

L'émission d'un jeton BRC20 n'est conditionnée à aucune autorisation. La seule convention à respecter est celle de l'interface, pour rester compatible avec les portefeuilles et les services qui parlent ERC-20.

Jetons

Le standard BRC20.

BRC20 — Bosa smart contract 20 — est le standard de jeton natif de la chaîne. Son interface est compatible ERC-20 : tout portefeuille, toute passerelle, tout service qui parle ERC-20 fonctionne sans adaptation.

IBRC20.sol — interface minimale
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);
}

La propriété se transmet en deux temps

C'est le seul écart de comportement notable avec un ERC-20 courant. transferOwnership désigne un destinataire en attente, sans rien céder ; la propriété ne change que lorsque celui-ci appelle acceptOwnership depuis son adresse.

Pourquoi ce détour

Un transfert en une seule étape vers une adresse mal saisie est irréversible : personne n'en détient la clé, aucune fonction réservée au propriétaire ne peut plus être appelée, le contrat reste orphelin pour toujours. La seconde étape prouve que le destinataire contrôle l'adresse.

Ce que BRC20 ajoute

getOwner expose le propriétaire de façon standardisée. mint est réservé au propriétaire et se clôt définitivement par finishMinting ; burn est ouvert au porteur. Enfin, increaseAllowance et decreaseAllowance évitent la condition de course de approve.

Un standard homonyme existe sur Bitcoin, sans rapport technique. Le BRC-20 des inscriptions Ordinals ne partage avec celui-ci que le nom : écrire « BRC20 de Coinbosa » lève l'ambiguïté.

Surface exposée

Ce que le point d'accès public accepte.

Le nœud public sert à lire la chaîne et à y déposer des transactions signées. Ce qui permettrait de l'inspecter ou de le piloter est fermé, et les requêtes coûteuses sont bornées : sans borne, une demande de deux cents octets peut exiger le balayage de toute la chaîne.

FamilleÉtatCe que cela recouvre
ethouverteBlocs, soldes, stockage, estimation du gas, journaux, envoi de transactions signées.
netouverteIdentité du réseau — ce dont un portefeuille a besoin pour ajouter la chaîne.
web3ferméePublie la version exacte du client et son empreinte de commit — une liste de cibles prête à l'emploi.
personal, adminferméesClés du magasin du nœud, pairs, services, écriture de fichiers.
debug, txpool, minerferméesÉtat interne, file d'attente des transactions, production de blocs.
TransportHTTPS, POST uniquement — toute autre méthode est refusée.
Taille d'une requêtePlafonnée ; une requête plus lourde est rejetée avant traitement.
Appels groupésPlafonnés par requête HTTP.
Plage de journauxBornée par appel à eth_getLogs ; les longs historiques se lisent par tranches.
Filtres de journauxNombre d'adresses et de sujets alternatifs borné par position de recherche.
Origine navigateurSeul explorer.coinbosa.com ; les appels de serveur à serveur ne sont pas concernés.

Ce point d'accès est fait pour lire et pour déposer. Il n'expose pas d'abonnement WebSocket : une application sonde le nœud plutôt qu'elle ne s'abonne. Et relire un état à un bloc ancien demande un nœud d'archive, que chacun peut exécuter à partir du dépôt.

Vérification

Le socle se relit sur la chaîne.

Les valeurs ci-dessous sont celles du livre blanc. Elles ne demandent pas qu'on nous croie : deux requêtes suffisent à les retrouver.

Consensus et temps de blocParlia — Cible : 5 s | Mesure : 5,0000 s sur 500 blocs
Identifiant de chaîne26262 — protection anti-rejeu EIP-155
Franchissement d'epochIntervalles de validateurs fixés — vérifié aux blocs 200, 400, 600, 800
Contrat système du consensusÉcrit sur mesure (Solidity / Go-Ethereum), en fonctionnement direct sur la chaîne
Standard de jeton natifBRC20, compatible ERC-20 — banc de tests automatisé
Offre de BOSA700 000 000, 18 décimales
Empreinte du bloc 00x8dcdadc247a98f33728cae944e20ce7c49c74b35cfba31495f85e98979018da6
Racine d'état du bloc 00x93682eb9182a55531d47014b76a285b45d3e720a2951f9ffbdc67f52995f8c03
Mise en production7 août 2026
Vérifier l'identité de la chaîne
# 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]}'

Le code est public

Le client, les contrats, le genesis et les scripts de déploiement sont publiés sur le dépôt Coinbosa. Recompiler le genesis doit redonner exactement l'empreinte du bloc 0 publiée ci-dessus.

Ce qui identifie la chaîne

Un nom et un symbole se copient ; un identifiant de chaîne et une empreinte de bloc 0, non. Ce sont eux qu'il faut comparer avant d'envoyer une transaction, et l'explorateur les affiche en clair.

Qui édite ce réseauL'éditeur, l'écosystème bâti autour de la chaîne et la répartition de l'offre BOSA.

Ouvrir la page À propos