COOPKUAT β’ KOPERASI DIGITAL
CoopKUAT Dashboard
http://192.168.2.222:8545
CoopKUAT
public
βοΈ Custom RPC Endpoint
Keselamatan: Login Sesi
Status: belum login.
Selamat Datang ke Dashboard CoopKUAT
Paparan ini direka untuk pengguna biasa: lihat ringkasan, pilih tindakan pantas, dan teruskan kerja harian.
Tahap Paparan
Mod Asas Aktif
Status Sistem
checking
Jumlah Ahli
-
Jumlah Pegangan CLQT
-
Permohonan Pending CLQT
-
Ringkasan Sistem
Status Sambungan
checking
Rangkaian Aktif
-
Transaksi Menunggu
-
Jumlah Blok
-
Semakan Integriti
-
Jumlah Wallet
-
Wallet Dev
Hantar Transaksi (PQC / Dilithium)
ποΈ Koperasi Hub (CoopKUAT Induk)
Daftar Ahli Koperasi
Issue Token CiLQ
CLQW: issue terus. CLQT: akan masuk queue menunggu persetujuan PSB.
Semak Holding Ahli
Tip: guna Member ID yang sama untuk daftar, issue, dan semak holding.
Senarai Ahli Koperasi
Page 1/1
Belum ada ahli koperasi.
Senarai Holding CiLQ
Page 1/1
Belum ada rekod holding.
PSB Matrix: Pending CLQT
Hanya PSB/developer boleh approve/reject permohonan CLQT.
Tiada permohonan pending CLQT.
Management: Pending Wallet Approval
Wallet ke-4+ oleh member akan muncul di sini untuk approve/reject oleh management/developer.
Tiada permohonan wallet pending.
Riwayat keputusan management/developer direkod bersama timestamp.
Tiada rekod sejarah wallet.
π Cross-Chain Bridge
Transfer Asset Antara Networks
Hantar asset dari CoopKUAT ke EVM chain atau sebaliknya melalui bridge address.
CoopKUAT
Source Network
β
Destination
Select destination
β οΈ Bridge berfungsi melalui lock-and-mint mechanism. Pastikan bridge contract address betul sebelum hantar.
Transaksi Menunggu
Belum ada transaksi.
Senarai Wallet
Belum ada account.
Sejarah Blok
Belum ada block.
Log Sistem (Untuk Admin)
{}
Documentation
SubTab 1: RPC & Network Matrix
Halaman ini ialah muka surat pertama dokumentasi RPC untuk CoopKUAT. Fokusnya ialah fungsi setiap method,
input penting, dan output utama. Method dengan awalan dev_ sesuai untuk pembangunan/local testing.
| RPC Method | Kegunaan | Input Ringkas | Output Ringkas |
|---|---|---|---|
| dev_generateWallet | Generate wallet dev baharu (PQC) dan simpan dalam storan node. | Tiada | { public_key, secret_key, created_at } |
| dev_listWallets | Senaraikan semua wallet dev yang pernah dijana/simpan. | Tiada | { count, wallets[] } |
| dev_getWallet | Ambil wallet ikut public key dan set sebagai wallet terakhir digunakan. | { public_key } |
Objek wallet |
| dev_lastWallet | Ambil wallet terakhir yang disimpan sebagai rujukan aktif. | Tiada | Wallet atau null |
| dev_listWalletsAdmin | Senarai wallet untuk pengurusan termasuk wallet deleted (soft-delete). | { include_deleted } (opsyenal) |
{ count, wallets[] } + metadata status/label |
| dev_updateWalletMeta | Kemaskini metadata wallet (label, status active/archived). | { public_key, label?, status? } |
Objek wallet terkini + metadata |
| dev_deleteWallet | Soft-delete wallet (boleh restore semula kemudian). | { public_key } |
Objek wallet (deleted=true) |
| dev_restoreWallet | Pulihkan wallet yang telah soft-delete. | { public_key } |
Objek wallet (deleted=false) |
| dev_signTransaction | Tandatangan transaksi dev menggunakan secret key. | { tx, public_key, secret_key } |
{ hash, public_key, signature, tx } |
| sendTransaction | Hantar transaksi ke mempool selepas semakan signature dan balance. | TransactionRequest (bertandatangan) |
TransactionSubmission |
| dev_fundAccount | Topup/fund account untuk tujuan dev/testing. | { account, amount } |
{ address, balance, balance_hex } |
| node_status | Lihat status asas node: online, saiz mempool, ketinggian block. | Tiada | { chain, rpc, mempool_size, block_height } |
| node_mempool | Ambil semua transaksi yang belum dimine. | Tiada | { count, transactions[] } |
| node_accounts | Lihat semua account dan baki semasa. | Tiada | { count, accounts[] } |
| node_blocks | Ambil semua block dalam chain. | Tiada | { count, blocks[] } |
| mine_block | Mine semua transaksi mempool jadi block baharu dan update balance account. | Tiada | Objek block baharu |
| validate_chain | Semak integriti chain (hash, link previous hash, validiti transaksi). | Tiada | { valid, block_count, checked_transactions, errors[] } |
| coop_registerMember | Daftar ahli koperasi baharu pada registry CoopKUAT. | { member_id, full_name, lanunjs_public_key, metadata_hash? } |
Objek ahli koperasi |
| coop_requestRegisterMember | Hantar permohonan pendaftaran ahli untuk kelulusan ALK. | { member_id, full_name, lanunjs_public_key, metadata_hash? } |
{ request_id, status: "pending_alk", requested_by, requested_at, ... } |
| alk_listPendingMemberRegistrations | ALK/developer lihat senarai permohonan pendaftaran ahli yang masih pending. | Tiada | { count, requests[] } |
| alk_decideMemberRegistration | ALK approve/reject permohonan ahli; approval direkod dengan hash rujukan blockchain. | { request_id, approve, reason? } |
{ request, member?, approved_by, decision_timestamp } |
| alk_listMemberRegistrationHistory | ALK/developer semak sejarah lengkap keputusan pendaftaran ahli. | Tiada | { count, requests[] } |
| coop_issueCiLQ | Issue unit token CiLQ kepada ahli untuk CLQW sahaja. | { member_id, token_type, units } |
Objek holding terkini ahli |
| coop_requestIssueCLQT | Hantar permohonan issuance CLQT (status pending untuk PSB). | { member_id, units } |
{ request_id, status, requested_by, requested_at, ... } |
| psb_listPendingCLQT | Senarai queue permohonan CLQT yang menunggu keputusan PSB. | Tiada | { count, requests[] } |
| psb_decideCLQTRequest | PSB approve/reject permohonan CLQT; approval direkod dengan hash rujukan blockchain. | { request_id, approve, reason? } |
{ request, holding? } |
| coop_getHolding | Semak holding CiLQ seorang ahli. | { member_id } |
{ member_id, clqt_units, clqw_units, updated_at } |
| coop_listMembers | Senarai semua ahli koperasi berdaftar. | Tiada | { count, members[] } |
| coop_listHoldings | Senarai semua rekod holding CiLQ ahli. | Tiada | { count, holdings[] } |
| kpi_submitScore | Hantar markah KPI untuk koperasi mengikut kategori dan tempoh. | { koperasi_id, score, category, period?, note? } |
Rekod KPI yang disimpan |
| kpi_listScores | Senarai semua skor KPI yang telah dihantar. | Tiada | { count, scores[] } |
| kpi_getSummary | Ringkasan KPI keseluruhan mengikut bilangan, purata, dan kategori. | Tiada | { count, average_score, latest_score, by_category } |
| audit_addNote | Tambah catatan audit / pemerhatian / syor pembetulan. | { subject_type, subject_id, message, note_type? } |
Rekod audit note |
| audit_listNotes | Senarai semua audit note yang telah disimpan. | Tiada | { count, notes[] } |
Documentation: Matriks Kegunaan Mengikut Network
Jadual ini merumuskan feature utama yang tersedia untuk setiap network dalam dashboard semasa.
| Feature / Keupayaan | CoopKUAT (Local) | Ethereum / Arbitrum / Optimism / Polygon / Base / Custom (EVM) | ICP Mainnet |
|---|---|---|---|
| Status network asas | β node status + mempool + blocks + validation | β chainId + block number + gas price | β status endpoint ICP |
| Wallet panel utama | β Wallet Dev PQC | β MetaMask / EVM wallet | β ICP identity / principal |
| Generate wallet dalam dashboard | β (dev_generateWallet) | β οΈ Import local sahaja (tiada generate on-chain) | β |
| Sign transaction dalam dashboard | β (dev_signTransaction) | β via MetaMask signing flow | β (query focus) |
| Send transaction | β (sendTransaction) | β
(eth_sendTransaction) |
β οΈ Tiada update call khusus dalam panel semasa |
| Fund account / faucet dev | β (dev_fundAccount) | β | β |
| Mempool / Accounts / Blocks view | β penuh | β (tidak dipaparkan dalam panel ini) | β |
| Mine block manual | β (mine_block) | β | β |
| Validate chain | β (validate_chain) | β | β |
| ALK governance (pendaftaran ahli) | β coop_requestRegisterMember + alk_decideMemberRegistration | β | β |
| Kelulusan CLQT (PSB / ALK) | β psb_listPendingCLQT + psb_decideCLQTRequest | β | β |
| KPI & Audit tools | β untuk SKM / IKMa / pengurusan / developer | β | β |
| Canister query tools | β | β | β discover + query + Plug integration |
| Bridge panel (MVP) | β dipaparkan | β dipaparkan | β disorok bila ICP aktif |
SubTab 2: Hybrid (Hardhat + Crystal-Dilithium)
Hybrid CoopKUAT bermaksud dua dunia berjalan bersama: dunia EVM (Hardhat/Solidity/MetaMask ekosistem)
dan dunia teras CoopKUAT (Rust RPC + Crystal-Dilithium). Ia bukan pengganti antara satu sama lain, tetapi gabungan untuk
interoperability + post-quantum readiness.
| Lapisan | Teknologi Utama | Peranan | Status Semasa dalam Repo |
|---|---|---|---|
| EVM / Smart Contract | Hardhat + Solidity | Deploy/ujian kontrak, surface untuk integrasi ekosistem EVM | bridge-mvp/evm-contracts/src/LanunBridge.sol |
| Teras Node | Rust (lanunjs-node + lanunjs-rpc) | State, governance, auth, role/permission, RPC custom | node/src/main.rs, rpc/src/server.rs |
| Kriptografi PQC | Crystal-Dilithium | Signature/verifikasi post-quantum untuk flow dalaman CoopKUAT | crypto/src/dilithium.rs |
| Bridge / Integrasi | Adapter + Relayer | Memindah event/data antara domain EVM β CoopKUAT/ICP | bridge-mvp/icp-adapter, bridge-mvp/relayer |
Nota penting compatibility: RPC CoopKUAT sekarang dominan method custom (
auth_*, admin_*, node_*, dll).
Ia belum expose set penuh method standard eth_* untuk sokongan MetaMask native sepenuhnya.
SubTab 3: Architecture Map (Komponen + Trust Boundary + Aliran Signature)
Peta ringkas ini disusun untuk pembentangan kepada stakeholder non-technical: siapa komponen utama,
sempadan kepercayaan (trust boundary), dan bagaimana tandatangan/keizinan bergerak dalam sistem.
βββββββββββββββββββββββββββ Client / UI Boundary βββββββββββββββββββββββββββ
β dashboard/index.html β
β - Auth UI (login/session token) β
β - Documentation / Board / KPI / Wallet Mgmt β
βββββββββββββββββββββββββββββββββ¬ββββββββββββββββββββββββββββββββββββββββββββ
β JSON-RPC (HTTP 127.0.0.1:8545)
ββββββββββββββββββββββββββββ CoopKUAT Node Boundary ββββββββββββββββββββββββββ
β lanunjs-node (node/src/main.rs) β
β βββ lanunjs-rpc (rpc/src/server.rs) β
β - auth_*, admin_*, node_*, coop_*, kpi_*, audit_* β
β - role/permission enforcement β
β - transaction validation flow β
β β
β Crypto core: crypto/src/dilithium.rs β
β - Crystal-Dilithium sign/verify (PQC) β
βββββββββββββββββ¬ββββββββββββββββββββββββββββββββββββββββββββ¬ββββββββββββββββ
β β
β JSON files + SQLite (dual-store) β Bridge/Relayer path
βΌ βΌ
βββββββββββββββββββββββββββββββββ ββββββββββββββββββββββββββββββ
β data/*.json + auth_board.sqliteβ β bridge-mvp/* (EVM/ICP side)β
β users / roles / permissions β β LanunBridge.sol, adapter, β
β sessions / business state β β relayer β
βββββββββββββββββββββββββββββββββ ββββββββββββββββββββββββββββββ
| Trust Boundary | Aset Kritikal | Risiko Utama | Kawalan Semasa |
|---|---|---|---|
| Client/UI β RPC | Session token, request payload | Unauthorized call, session abuse | Auth login + token check + role/permission gate |
| RPC β Data Store | users/roles/permissions, state business | Tamper data / inconsistent store | Dual-sync JSON + SQLite, controlled RPC mutators |
| Crypto Boundary | Key material, signatures | Forged signature | Dilithium sign/verify path pada flow berkaitan |
| Bridge Boundary (external domain) | Transfer event, mapping address/network | Replay/mismatch status antar-domain | Adapter + relayer workflow, status tracking per transfer |
- Aliran signature (ringkas): request β auth/role check β (jika perlu) sign/verify Dilithium β persist state β expose result via RPC.
- Aliran governance: actor berrole (ALK/PSB/Management/Developer) meluluskan request melalui method khusus dan direkodkan dalam state.
- Aliran bridge: source domain event β adapter ingest β relayer process β destination status update.
SubTab 4: Apa itu unlock_native (versi mudah)
unlock_native ialah kaedah bayaran unlock yang dibuat terus dalam ledger LanunJS,
bukan lagi melalui pembayaran unlock di EVM. Ini bermaksud user bayar caj unlock menggunakan baki CoopKUAT native,
kemudian sistem terus rekodkan transaksi tersebut untuk audit.
Caj Unlock
0.025 COOPKUAT (default)
Method Teras
unlock_nativeSyarat
Perlu
auth_token + wallet ownershipAudit
unlock_payments.json + audit_notes.json| Perkara | Penerangan ringkas |
|---|---|
| Tujuan | Bayar caj unlock (contoh: 0.025) terus dari wallet LanunJS user. |
| Sumber bayaran | Baki CoopKUAT native dalam data/accounts.json. |
| Penerima caj | unlock_treasury_wallet dari data/unlock_settings.json. |
| Rekod transaksi | Disimpan ke data/unlock_payments.json + audit note automatik. |
| Sync data | Selepas transaksi, data JSON disegerakkan ke SQLite (jadual json_unlock_payments dan berkaitan). |
| Keselamatan asas | Perlu auth_token, semakan ownership wallet, format alamat, dan semakan baki mencukupi. |
1
Login + pilih wallet native
User pilih wallet CoopKUAT miliknya dalam UI.
User pilih wallet CoopKUAT miliknya dalam UI.
2
UI panggil helper query
unlock_settings (tetapan fee), unlock_history (rekod unlock), dan purchase_reference_status (status top-up/reference).3
Panggilan
Node validate auth, ownership wallet, format target address, dan baki.
unlock_nativeNode validate auth, ownership wallet, format target address, dan baki.
4
Debit/Credit ledger native
Caj ditolak daripada wallet user, masuk ke
Caj ditolak daripada wallet user, masuk ke
unlock_treasury_wallet.5
Persist + audit + response
Sistem simpan rekod, sync JSONβSQLite, pulangkan status
Sistem simpan rekod, sync JSONβSQLite, pulangkan status
paid_and_unlocked.| Contoh Input Ringkas | Contoh Output Ringkas |
|---|---|
{ wallet, target_address, balance_input, mode, note }
mode: raw atau human
|
{ unlock_id, status, unlock_fee, remaining_balance, tx_hash, result }
status kejayaan biasanya: paid_and_unlocked
|
Contoh response JSON sebenar (ringkas)
{
"unlock_id": "unlock_1784156978001",
"status": "paid_and_unlocked",
"wallet": "0x...user_wallet...",
"target_address": "0x...target...",
"unlock_fee": "0.025000000000000000",
"unlock_fee_atomic": "25000000000000000",
"remaining_balance": "99.975000000000000000",
"remaining_balance_atomic": "99975000000000000000",
"unlock_treasury_wallet": "0x...treasury...",
"tx_hash": "0x...",
"result": {
"mode": "human",
"input": "1200000000000000000",
"output": "1.200000000000000000"
}
}
Nota penting: MetaMask/EVM masih boleh digunakan untuk top-up (melalui
purchase_reference + topup_credit),
tetapi bayaran unlock itu sendiri berlaku secara native melalui unlock_native.
IGT / IDT / CoopKUAT Exchange Board
Board ini terhad kepada role: ALK, PSB, IKMa, SKM, Management, Developer.
Carta Streamlit auto-refresh setiap 30 saat, dengan rekod pemerhatian disimpan ke JSON + SQLite,
dan setiap pemerhatian di-chain-kan menggunakan hash block berantai.
RPC status: belum semak.
Pengurusan Wallet
Tab ini memusatkan pengurusan wallet semasa: senarai, carian, pemilihan wallet aktif, dan tindakan cepat.
0 wallet
Belum ada wallet.
Wallet Terpilih
Pilih wallet dari senarai di kiri.
Nota: untuk CoopKUAT, metadata/delete/restore kini persistent melalui RPC node. Untuk network lain, fallback local digunakan.
KPI & Audit
Ruang ini untuk SKM, IKMa, dan pengurusan koperasi melihat skor KPI, menghantar penilaian, serta menambah catatan audit.
Submit KPI Score
Audit Note
Ringkasan KPI
Belum ada data KPI.
Senarai Skor KPI
Belum ada skor KPI.
Senarai Audit Note
Belum ada audit note.
SPCLQ Formula Registry (Developer Only)
Tab ini khusus role developer untuk merekod kemas kini rasmi berkenaan pernyataan formula
1 SPCLQ = X CLQ. Data disimpan ke storan backend melalui audit log dan dipaparkan semula sebagai data terkini + sejarah.
Input/Kemaskini Formula SPCLQ
Data Terkini
Belum ada data formula SPCLQ direkodkan.
Sejarah Formula SPCLQ
Belum ada rekod formula SPCLQ.
RWA / SPCLQ / CLQ Registry (Developer Only)
Tab ini khusus role developer untuk mencatat setiap terbitan RWA dan jumlah edaran semasa.
Data disimpan dalam storan khas backend (
data/rwa_registry.json) dan dipaparkan sebagai snapshot + sejarah terbitan.
Rekod Terbitan RWA Baharu
Jumlah Edaran Semasa
Belum ada data registry RWA.
Last backup restored: belum ada rekod.
Sejarah Terbitan RWA
Belum ada rekod terbitan RWA.