ブロックチェーン同期
ブロックチェーン同期パイプラインは、接続されたウォレットごとにオンチェーンデータを取得・正規化・重複排除します。進捗はリアルタイムでストリーミングされるため、各同期の状況をリアルタイムで監視できます。
同期の仕組み
Section titled “同期の仕組み”ウォレットを接続するか同期をトリガーすると、CryptaCountは2つの並行データストリームを開始します:
Transactions — ネイティブ通貨の送金(EthereumのETH、PolygonのMATICなど)と通常のコントラクト呼び出しを取得します。これらはチェーンのベースレイヤー上の直接取引です。
Token Transfers — トークン転送イベント(ERC-20および相当物)を取得します。これらはトランザクションログからキャプチャされたコントラクト発行のイベントで、ネイティブ取引とは独立して同期されます。

各ストリームは独自の進捗トラッカー(最終処理ブロック番号)とページネーションカーソルを保持します。
同期のライフサイクル
Section titled “同期のライフサイクル”- 初期化 — 同じアドレスとチェーンを持つ別のウォレットが既に同期中でないかチェック(二重同期の防止)。ストリームごとの開始ブロックを決定します。
- 取得 — ブロックチェーンプロバイダーにページネーションされたチャンクで取引データをリクエスト
- 正規化 — チェーン固有のフォーマットをCryptaCountの共通取引モデルに変換
- 重複排除 — 重複防止のために各取引を既存レコードと照合
- 保存 — 新規取引をワークスペースに書き込み
- 分類 — 新規レコードに対して取引分類エンジンを実行
- 価格付け — 各取引タイムスタンプで各資産のFMVを取得
- 仕訳 — 複式仕訳を生成
すべての取引には、チェーン、ブロック、トランザクションハッシュ、イベントインデックスに基づく一意のキーが割り当てられます。CryptaCountは挿入前に既存レコードを確認するため、同期が中断されて再開された場合でも重複データは発生しません。
スマートレジューム
Section titled “スマートレジューム”初回の完全同期後、後続の同期は最後に処理したブロックから再開します。重要なのは、再開ポイントがストリームごと(取引 vs. トークン転送)に追跡されることです:
- 各ストリームは独立して再開されます
- これにより、処理の速いストリームのブロック番号が他方のデータをスキップさせるシナリオを防ぎます
リアルタイム進捗
Section titled “リアルタイム進捗”同期の進捗はリアルタイムでインターフェースにストリーミングされます。進捗表示では以下が提供されます:
- 現在の同期フェーズ(取得中、正規化中、保存中)
- 処理済み取引数 / 推定総数
- ブロック進捗(現在のブロック / 最新ブロック)
- ストリームごとのステータス(Transactions、Token Transfers)
- エラーメッセージ(ある場合)
これによりページを更新することなくライブの進捗インジケーターが表示されます。
マルチウォレット重複排除
Section titled “マルチウォレット重複排除”同じアドレスが複数のワークスペースウォレットで使用されている場合(例:異なるラベルで同じアドレスが追加されている)、CryptaCountは重複を確認し、同じアドレスを持つ別のウォレットが既に同期済みまたは同期中の場合はスキップします。これにより、ワークスペースレベルでの取引データの重複を防ぎます。
レート制限と回復力
Section titled “レート制限と回復力”ブロックチェーンデータプロバイダーはレート制限を課します。同期パイプラインはこれを以下で処理します:
- 自動バックオフ — レート制限に達した場合、システムは自動的にバックオフして再試行します
- 進捗の保存 — 同期が中断された場合、進捗はストリームごとに保存され、次の同期はそこから再開されます
- スタック同期のクリーンアップ — バックグラウンドジョブがスタックした同期を定期的に検出してクリーンアップします
同期ステータスの監視
Section titled “同期ステータスの監視”ウォレット詳細ビューのSyncタブには以下が表示されます:

- ストリームごとの現在の同期ステータス(Transactions、Token Transfers)
- ストリームごとの最終処理ブロック番号
- 取得済み取引の総数
- エラーメッセージ(ある場合)
- 最後に成功した同期の時刻
手動同期のトリガー
Section titled “手動同期のトリガー”- 単一ウォレット: ウォレット詳細を開いてSync Nowをクリック
- 再スキャン: ブロック0からウォレットを強制的に完全再スキャン
- 同期リクエスト: ユーザーが同期をリクエストし、ワークスペースマネージャーが承認または却下
よくある同期エラーとその解決方法:
| エラー | 原因 | 解決方法 |
|---|---|---|
| レート制限超過 | プロバイダーへのリクエストが多すぎる | 待機して再試行。自動バックオフが処理します。 |
| タイムアウト | 大量データのバッチ処理に時間がかかっている | 自動処理。次の同期はストリームごとの最終ブロックから再開します。 |
| 無効なアドレス | ウォレットアドレスが選択したチェーンに合っていない | アドレスフォーマットとチェーンの選択を確認してください |
| プロバイダー利用不可 | ブロックチェーンデータプロバイダーが一時的にダウン | 待機後に自動再試行 |
| 二重同期が検出された | 同じアドレスが既に同期中 | 既存の同期が完了するまで待つ |
継続的な問題については、同期と接続性のトラブルシューティングガイドをご参照ください。