فتح الإضافة اليدوية
فتح قائمة اختيار الشبكة المنسدلة، ثم «إضافة شبكة» و«إضافة شبكة يدويًا». وتُدخَل Coinbosa Chain يدوياً: فهذا هو المسار المعتاد لشبكة لا تعرفها المحفظة مسبقاً.
السلسلة متوافقة مع EVM: تتصل بها MetaMask وHardhat وFoundry وethers.js وviem دون أي تكييف. وتصف هذه الصفحة ما يعمل، وتقول أين تقع الحدود — حدود نقطة الوصول العامة وحدود الشبكة معاً.
تُوصَف شبكة EVM بحفنة من القيم. وهي ليست نوايا: فهي تُطبَّق عند كل كتلة وتُقرأ من جديد على السلسلة.
| الحقل | القيمة المطلوب إدخالها |
|---|---|
| اسم الشبكة | Coinbosa Chain |
| عنوان RPC الجديد | https://explorer.coinbosa.com/rpc |
| معرّف السلسلة | 26262 — 0x6696 بالنظام الست عشري |
| رمز العملة | BOSA |
| الخانات العشرية | 18 |
| عنوان المستكشف | https://explorer.coinbosa.com |
فتح قائمة اختيار الشبكة المنسدلة، ثم «إضافة شبكة» و«إضافة شبكة يدويًا». وتُدخَل Coinbosa Chain يدوياً: فهذا هو المسار المعتاد لشبكة لا تعرفها المحفظة مسبقاً.
تستعلم المحفظة من نقطة الوصول وترفض التسجيل إذا لم يطابق المعرّف الذي تعيده العقدة المعرّف المُدخَل. وهذا الفحص يحمي من نقطة وصول تنتحل شبكة أخرى.
تظهر الأرصدة بـ BOSA، ويتقدّم آخر كتلة على إيقاع توافق Parlia — الهدف: 5 ثوانٍ، والقياس: 5.018 ثانية على 500 كتلة متتالية.
الـ 18 خانة عشرية ليست إعداداً قابلاً للضبط. فالوحدة الأساسية للآلة الافتراضية Ethereum هي wei، وهي قيمة مثبَّتة في حساب gas كما في جميع المحافظ. ولا يوجد أي حقل يسمح بتغييرها.
يمكن لأي تطبيق أن يقترح إضافة الشبكة عبر نافذة تأكيد واحدة، دون أن ينسخ المستخدم أي شيء.
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']
}]
});
26262 تُكتب هنا 0x6696، مسبوقة بالبادئة ودون صفر في المقدمة. وهذا أكثر أخطاء هذه الخطوة شيوعاً: فالمعرّف المُمرَّر بالنظام العشري يُرفض، غالباً دون رسالة واضحة. وeth_chainId يعيد الشكل نفسه.
يستطيع أي موقع أن يطلب إضافة شبكة، باسم ورمز من اختياره. أما ما يعرّف السلسلة فهو معرّفها، وبصمة كتلتها 0، وعنوان نقطة الوصول.
لا حاجة إلى أي إضافة خاصة: فبالنسبة إلى هذه الأدوات، Coinbosa Chain شبكة EVM كغيرها. ولا يتطلب الانتباه سوى نسخة EVM المستهدَفة.
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] // لا يوضع أبداً بنص صريح في المستودع
}
}
};
[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
ترجم إلى Shanghai، لا إلى Cancun. فـ Solidity يستهدف Cancun افتراضياً: فبدون evmVersion: 'shanghai'
المفتاح الخاص لا يوضع أبداً في ملف إعداد. فهو يُقرأ من متغيّر بيئة أو من مخزن مشفَّر، ويبقى ملفه خارج المستودع. ولن يطلب منك أي فرد من فريق Coinbosa مفتاحك ولا عبارة الاسترداد أبداً.
تتضمن Coinbosa Chain حزمة DeFi & DEX أصلية: يُصدر فيها المطوّرون عقوداً ذكية، وينشئون مجمّعات سيولة، وينشرون رموز BRC20 دون قيد.
يمرّ النشر عبر أدوات EVM المعتادة، تلك المُعدّة أعلاه. ومعاملة موقَّعة واحدة تكفي: لا شيء يُطلب، ولا شيء يُعرَض للموافقة مسبقاً.
تُنشَر المجمّعات كعقود عادية وتستند إلى رموز BRC20 في السلسلة، التي تُوصَف واجهتها أدناه.
إصدار رمز BRC20 غير مشروط بأي إذن. والاتفاق الوحيد الواجب احترامه هو اتفاق الواجهة، للبقاء متوافقاً مع المحافظ والخدمات التي تتحدث ERC-20.
BRC20 — Bosa smart contract 20 — هو معيار الرموز في السلسلة. وواجهته متوافقة مع ERC-20: فأي محفظة، وأي جسر، وأي خدمة تتحدث ERC-20 تعمل دون أي تكييف.
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);
}
هذا هو الفارق السلوكي الوحيد المُلاحَظ مقارنةً بعقد ERC-20 معتاد. فـtransferOwnership يعيّن مستلِماً في الانتظار، دون أن يتنازل عن شيء؛ ولا تنتقل الملكية إلا حين يستدعي هذا المستلِم acceptOwnership من عنوانه.
النقل في خطوة واحدة إلى عنوان أُدخل خطأً لا رجعة فيه: فلا أحد يملك مفتاحه، ولا يمكن استدعاء أي دالة محجوزة للمالك بعد ذلك، ويبقى العقد بلا مالك إلى الأبد. والمرحلة الثانية تثبت أن المستلِم يتحكم في العنوان.
getOwner يعرض المالك بصيغة موحَّدة. وmint محجوز للمالك ويُغلق نهائياً عبر finishMinting؛ أما burn فمتاح للحامل. وأخيراً، يتفادى increaseAllowance وdecreaseAllowance حالة التسابق في approve.
يوجد معيار يحمل الاسم نفسه على Bitcoin، دون أي صلة تقنية. فمعيار BRC-20 الخاص بنقوش Ordinals لا يشترك مع هذا إلا في الاسم: وكتابة «BRC20 الخاص بـ Coinbosa» ترفع اللبس.
تُستعمل العقدة العامة لقراءة السلسلة ولإيداع معاملات موقَّعة فيها. أما ما يتيح فحصها أو التحكم فيها فمغلق، والطلبات المكلفة محدودة: فبلا حدود، قد يستلزم طلب من مئتَي بايت مسحَ السلسلة كلها.
| العائلة | الحالة | ما يشمله ذلك |
|---|---|---|
| eth | مفتوحة | الكتل، والأرصدة، والتخزين، وتقدير gas، والسجلات، وإرسال المعاملات الموقَّعة. |
| net | مفتوحة | هوية الشبكة — ما تحتاجه المحفظة لإضافة السلسلة. |
| web3 | مغلقة | ينشر النسخة الدقيقة من العميل وبصمة commit الخاصة بها — قائمة أهداف جاهزة للاستعمال. |
| personal، admin | مغلقة | مفاتيح مخزن العقدة، والأقران، والخدمات، وكتابة الملفات. |
| debug، txpool، miner | مغلقة | الحالة الداخلية، وطابور المعاملات، وإنتاج الكتل. |
| النقل | HTTPS، وPOST فقط — وأي طريقة أخرى تُرفض. |
|---|---|
| حجم الطلب | محدودة بسقف؛ وأي طلب أثقل يُرفض قبل المعالجة. |
| الاستدعاءات المجمَّعة | محدودة بسقف لكل طلب HTTP. |
| نطاق السجلات | محدودة لكل استدعاء لـ eth_getLogs؛ والسجلات الطويلة تُقرأ على شرائح. |
| مرشِّحات السجلات | عدد العناوين والمواضيع البديلة محدود لكل موضع بحث. |
| أصل المتصفح | فقط explorer.coinbosa.com؛ ولا يشمل ذلك الاستدعاءات من خادم إلى خادم. |
نقطة الوصول هذه مصنوعة للقراءة وللإيداع. فهي لا تتيح اشتراك WebSocket: فالتطبيق يستطلع العقدة بدل أن يشترك. وإعادة قراءة حالة عند كتلة قديمة تستلزم عقدة أرشيف، يستطيع كل واحد تشغيلها انطلاقاً من المستودع.
القيم أدناه هي قيم الورقة البيضاء. وهي لا تطلب أن تصدّقنا: فطلبان يكفيان لإيجادها.
| آلية التوافق وزمن الكتلة | Parlia — الهدف: 5 s | القياس: 5.018 s على 500 كتلة |
|---|---|
| معرّف السلسلة | 26262 — الحماية من إعادة الإرسال EIP-155 |
| تجاوز epoch | فترات المصادِقين مثبَّتة — مُتحقَّق منها عند الكتل 200، 400، 600، 800 |
| عقد نظام التوافق | مكتوب خصيصاً (Solidity / Go-Ethereum)، ويعمل مباشرة على السلسلة |
| معيار الرمز الأصلي | BRC20، متوافق مع ERC-20 — حزمة اختبارات آلية |
| عرض BOSA | 700,000,000، 18 خانة عشرية |
| بصمة الكتلة 0 | 0x8dcdadc247a98f33728cae944e20ce7c49c74b35cfba31495f85e98979018da6 |
| جذر حالة الكتلة 0 | 0x93682eb9182a55531d47014b76a285b45d3e720a2951f9ffbdc67f52995f8c03 |
| الإطلاق في الإنتاج | 7 أغسطس 2026 |
# 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]}'
العميل والعقود وملف genesis وبرامج النشر منشورة على مستودع Coinbosa. وإعادة توليد genesis يجب أن تعطي تماماً بصمة الكتلة 0 المنشورة أعلاه.
الاسم والرمز يُنسخان؛ أما معرّف السلسلة وبصمة الكتلة 0 فلا. وهما ما يجب مقارنته قبل إرسال معاملة، والمستكشف يعرضهما صراحةً.
من ينشر هذه الشبكةالناشر، والمنظومة المبنية حول السلسلة، وتوزيع عرض BOSA.
فتح صفحة «من نحن»