Connexion
Ajouter le réseau par le code.
Un site peut proposer l'ajout du réseau en une invite, sans que l'utilisateur
recopie quoi que ce soit à la main.
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']
}]
});
module.exports = {
solidity: '0.8.24',
networks: {
coinbosa: {
url: 'https://explorer.coinbosa.com/rpc',
chainId: 26262,
accounts: [process.env.CLE_PRIVEE] // jamais en clair dans le dépôt
}
}
};
[rpc_endpoints]
coinbosa = "https://explorer.coinbosa.com/rpc"
# forge script script/Deploy.s.sol --rpc-url coinbosa --broadcast
Surface exposée
Ce que le RPC public accepte.
Le nœud public est volontairement restreint. Les familles de méthodes qui
permettent d'administrer un nœud ou d'en extraire des clés ne sont pas exposées.
| Familles ouvertes | eth, net |
| Familles fermées | admin, personal, debug, txpool, miner |
| Requêtes groupées | 50 au maximum par appel |
| Plage de journaux | bornée — une requête eth_getLogs sans borne est refusée |
| Limite de gaz par bloc | 55 000 000 (bloc 0 : 40 000 000) |
| Transport | HTTPS uniquement |
Jetons
Le standard BRC20.
BRC20 est l'interface de jeton de Coinbosa Chain. Elle est compatible ERC-20 :
un contrat, un portefeuille ou un explorateur qui sait lire un ERC-20 sait lire un BRC20.
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 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 transmission de propriété d'un contrat BRC20 se fait en deux temps (transferOwnership puis acceptOwnership par le destinataire). Un transfert en une seule étape vers une adresse mal saisie rend le contrat définitivement orphelin : ce détour évite une erreur irréversible.
Le code est ouvertClient, contrats système, genesis et scripts de déploiement sont publics et vérifiables.
Voir le dépôt