Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
233 changes: 233 additions & 0 deletions docs/doscan-cross-chain-transactions.vi.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,233 @@
<!doctype html>
<html lang="vi">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="color-scheme" content="dark">
<title>DOScan Cross-chain Transactions - Báo cáo production</title>
<style>
:root {
color-scheme: dark;
--bg: #0f1113;
--surface: #171a1f;
--surface-2: #20242b;
--text: #f3f5f7;
--muted: #a9b0ba;
--border: #303640;
--brand: #ff2e29;
--good: #49d17d;
--warn: #f6c453;
--link: #72a7ff;
}
* { box-sizing: border-box; }
body {
margin: 0;
background: var(--bg);
color: var(--text);
font: 16px/1.65 Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
main {
width: min(1080px, calc(100% - 32px));
margin: 0 auto;
padding: 48px 0 72px;
}
h1, h2 { line-height: 1.2; }
h1 { margin: 0 0 12px; font-size: clamp(2rem, 5vw, 3.4rem); }
h2 { margin: 0 0 16px; font-size: 1.35rem; }
p { margin: 0 0 14px; }
a { color: var(--link); overflow-wrap: anywhere; }
code {
padding: 2px 6px;
border: 1px solid var(--border);
border-radius: 6px;
background: #0c0e11;
color: #ffd6d4;
overflow-wrap: anywhere;
}
.eyebrow {
color: var(--brand);
font-weight: 800;
letter-spacing: .08em;
text-transform: uppercase;
}
.lead { max-width: 820px; color: var(--muted); font-size: 1.08rem; }
.verdict {
margin: 28px 0;
padding: 22px;
border: 1px solid rgba(73, 209, 125, .45);
border-left: 5px solid var(--good);
border-radius: 12px;
background: rgba(73, 209, 125, .08);
}
.grid {
display: grid;
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: 18px;
margin: 20px 0;
}
.card {
padding: 22px;
border: 1px solid var(--border);
border-radius: 14px;
background: var(--surface);
}
.card strong { color: var(--good); }
.flow {
display: grid;
grid-template-columns: 1fr auto 1fr;
gap: 14px;
align-items: center;
margin: 18px 0;
padding: 20px;
border: 1px solid var(--border);
border-radius: 14px;
background: var(--surface-2);
}
.chain {
padding: 14px;
border-radius: 10px;
background: var(--surface);
text-align: center;
font-weight: 750;
}
.arrow { color: var(--brand); font-size: 1.8rem; font-weight: 900; }
table {
width: 100%;
border-collapse: collapse;
margin-top: 14px;
}
th, td {
padding: 12px;
border: 1px solid var(--border);
text-align: left;
vertical-align: top;
}
th { background: var(--surface-2); }
.status {
display: inline-block;
padding: 3px 9px;
border-radius: 999px;
background: rgba(73, 209, 125, .14);
color: var(--good);
font-weight: 800;
}
.note {
margin-top: 18px;
padding: 16px 18px;
border-left: 4px solid var(--warn);
background: rgba(246, 196, 83, .08);
color: #eadfbf;
}
.muted { color: var(--muted); }
footer {
margin-top: 36px;
padding-top: 20px;
border-top: 1px solid var(--border);
color: var(--muted);
font-size: .93rem;
}
@media (max-width: 760px) {
main { padding-top: 28px; }
.grid { grid-template-columns: 1fr; }
.flow { grid-template-columns: 1fr; }
.arrow { transform: rotate(90deg); text-align: center; }
table { display: block; overflow-x: auto; }
}
</style>
</head>
<body>
<main>
<header>
<div class="eyebrow">DOScan production</div>
<h1>Cross-chain Transactions giữa DOS và Avalanche</h1>
<p class="lead">Báo cáo cho JOY và các agent frontend về tính năng liên chuỗi đã triển khai trên DOScan Mainnet ngày 29/07/2026.</p>
</header>

<section class="verdict">
<h2>Kết luận là sao? Làm gì?</h2>
<p><strong>Có, DOScan hiện xem được transaction ở cả hai chiều Avalanche C-Chain sang DOS Chain và DOS Chain sang Avalanche C-Chain.</strong> Người dùng mở tab <a href="https://doscan.io/txs?tab=txs_cross_chain">Cross-chain txns</a> để xem danh sách, sau đó mở từng message để xem source transaction, destination transaction, sender, recipient, trạng thái, lifecycle, payload và token transfer.</p>
</section>

<div class="flow" aria-label="Luồng giao dịch hai chiều">
<div class="chain">Avalanche C-Chain<br><code>43114</code></div>
<div class="arrow">↔</div>
<div class="chain">DOS Chain<br><code>7979</code></div>
</div>

<section class="grid">
<article class="card">
<h2>DOS sang Avalanche</h2>
<p><span class="status">Completed</span></p>
<p>Message: <a href="https://doscan.io/cross-chain-tx/0xe9017de0034351e62454a36fb5cb2df35d805cb537aa54119c90d41a95b47077"><code>0xe901...7077</code></a></p>
<p>Source DOS: <a href="https://doscan.io/tx/0xdaf2a6b814a102214a329f5c45bbb920ce7ced42f8839f060a83525d23750722"><code>0xdaf2...0722</code></a></p>
<p>Destination Avalanche: <a href="https://subnets.avax.network/c-chain/tx/0x7a259353da20ea4901d412036f41a6b7e34e2aaeab13d2ed2c09019a7facea8c"><code>0x7a25...ea8c</code></a></p>
<p>Transfer: <strong>0,01 WDOS thành 0,01 DOS</strong>.</p>
</article>

<article class="card">
<h2>Avalanche sang DOS</h2>
<p><span class="status">Completed</span></p>
<p>Message: <a href="https://doscan.io/cross-chain-tx/0xbf0dd9c2e29711ba7cb2515831f5acf7c0aae2e64ebdb2fe25f0508123969928"><code>0xbf0d...9928</code></a></p>
<p>Source Avalanche: <a href="https://subnets.avax.network/c-chain/tx/0xa5455a919896dcac09d6cc7301f6b125d8da28592fcba00d13d7143b75ae15b7"><code>0xa545...15b7</code></a></p>
<p>Destination DOS: <a href="https://doscan.io/tx/0x3153c9a20ca4fb1458615b60e95ec863a19b2bc73030942e0ed13deac8386a4a"><code>0x3153...a4a</code></a></p>
<p>Transfer: <strong>0,005 DOS thành 0,005 WDOS</strong>.</p>
</article>
</section>

<section class="card">
<h2>Kiến trúc và cấu hình frontend</h2>
<table>
<thead>
<tr><th>Thành phần</th><th>Trạng thái production</th><th>Ý nghĩa</th></tr>
</thead>
<tbody>
<tr>
<td>Blockscout Interchain Indexer</td>
<td><code>v1.6.0</code>, container healthy</td>
<td>Đọc Avalanche ICM/Teleporter và ICTT, sau đó ghép source transaction với destination transaction.</td>
</tr>
<tr>
<td>Indexer type</td>
<td><code>icm_ictt</code></td>
<td>Phù hợp với DOS vì DOS là Avalanche L1 dùng ICM/Teleporter, không phải một bridge EVM chung.</td>
</tr>
<tr>
<td>API host</td>
<td><code>NEXT_PUBLIC_INTERCHAIN_INDEXER_API_HOST=https://doscan.io</code></td>
<td>Frontend gọi API same-origin qua Caddy, không cần expose hostname phụ.</td>
</tr>
<tr>
<td>Feature flag</td>
<td><code>NEXT_PUBLIC_CROSS_CHAIN_TXS_ENABLED=true</code></td>
<td>Bật tab và detail page Cross-chain Transactions trên Mainnet.</td>
</tr>
<tr>
<td>TeleporterMessenger</td>
<td><code>0x253b2784c75e510dD0fF1da844684a1aC0aa5fcf</code></td>
<td>Contract chính thức được indexer theo dõi trên hai chain.</td>
</tr>
</tbody>
</table>
</section>

<section class="note">
<strong>Phạm vi hiện tại:</strong> tính năng chỉ bật trên Mainnet. DOS Testnet chưa bật vì chưa có cấu hình cặp Fuji/DOS Testnet tương ứng. Avalanche C-Chain đang backfill lịch sử từ block <code>42.526.120</code>; dữ liệu cũ sẽ xuất hiện dần, còn message mới vẫn được xử lý trong quá trình backfill.
</section>

<section class="card" style="margin-top:18px">
<h2>Bằng chứng triển khai</h2>
<ul>
<li><a href="https://github.com/DOS/DOScan/pull/139">DOScan PR #139</a>: thêm Interchain Indexer, API route, env frontend và readiness.</li>
<li><a href="https://github.com/DOS/DOScan/pull/140">DOScan PR #140</a>: tách RPC ICM đang lỗi khỏi deploy gate của explorer.</li>
<li><a href="https://github.com/DOS/DOScan/actions/runs/30413862805">Deploy Config #30413862805</a>: Mainnet và Testnet đều hoàn tất thành công.</li>
<li><a href="https://doscan.io/api/v1/status/indexers">Indexer status API</a>: worker Avalanche báo <code>running</code>.</li>
<li><a href="https://doscan.io/api/v1/interchain/chains">Interchain chains API</a>: trả về DOS Chain 7979 và Avalanche C-Chain 43114.</li>
</ul>
</section>

<footer>
Báo cáo cập nhật ngày 29/07/2026. Bằng chứng được đối chiếu từ source cấu hình, deploy run, API production, container readiness và kiểm tra giao diện thật trên <a href="https://doscan.io">doscan.io</a>.
</footer>
</main>
</body>
</html>
Loading