コンテンツにスキップ

ブロックチェーン同期

ブロックチェーン同期パイプラインは、接続されたウォレットごとにオンチェーンデータを取得・正規化・重複排除します。進捗はリアルタイムでストリーミングされるため、各同期の状況をリアルタイムで監視できます。

ウォレットを接続するか同期をトリガーすると、CryptaCountは2つの並行データストリームを開始します:

Transactions — ネイティブ通貨の送金(EthereumのETH、PolygonのMATICなど)と通常のコントラクト呼び出しを取得します。これらはチェーンのベースレイヤー上の直接取引です。

Token Transfers — トークン転送イベント(ERC-20および相当物)を取得します。これらはトランザクションログからキャプチャされたコントラクト発行のイベントで、ネイティブ取引とは独立して同期されます。

2つの並行ストリームを示す同期ステータス

各ストリームは独自の進捗トラッカー(最終処理ブロック番号)とページネーションカーソルを保持します。

  1. 初期化 — 同じアドレスとチェーンを持つ別のウォレットが既に同期中でないかチェック(二重同期の防止)。ストリームごとの開始ブロックを決定します。
  2. 取得 — ブロックチェーンプロバイダーにページネーションされたチャンクで取引データをリクエスト
  3. 正規化 — チェーン固有のフォーマットをCryptaCountの共通取引モデルに変換
  4. 重複排除 — 重複防止のために各取引を既存レコードと照合
  5. 保存 — 新規取引をワークスペースに書き込み
  6. 分類 — 新規レコードに対して取引分類エンジンを実行
  7. 価格付け — 各取引タイムスタンプで各資産のFMVを取得
  8. 仕訳 — 複式仕訳を生成

すべての取引には、チェーン、ブロック、トランザクションハッシュ、イベントインデックスに基づく一意のキーが割り当てられます。CryptaCountは挿入前に既存レコードを確認するため、同期が中断されて再開された場合でも重複データは発生しません。

初回の完全同期後、後続の同期は最後に処理したブロックから再開します。重要なのは、再開ポイントがストリームごと(取引 vs. トークン転送)に追跡されることです:

  • 各ストリームは独立して再開されます
  • これにより、処理の速いストリームのブロック番号が他方のデータをスキップさせるシナリオを防ぎます

同期の進捗はリアルタイムでインターフェースにストリーミングされます。進捗表示では以下が提供されます:

  • 現在の同期フェーズ(取得中、正規化中、保存中)
  • 処理済み取引数 / 推定総数
  • ブロック進捗(現在のブロック / 最新ブロック)
  • ストリームごとのステータス(Transactions、Token Transfers)
  • エラーメッセージ(ある場合)

これによりページを更新することなくライブの進捗インジケーターが表示されます。

同じアドレスが複数のワークスペースウォレットで使用されている場合(例:異なるラベルで同じアドレスが追加されている)、CryptaCountは重複を確認し、同じアドレスを持つ別のウォレットが既に同期済みまたは同期中の場合はスキップします。これにより、ワークスペースレベルでの取引データの重複を防ぎます。

ブロックチェーンデータプロバイダーはレート制限を課します。同期パイプラインはこれを以下で処理します:

  • 自動バックオフ — レート制限に達した場合、システムは自動的にバックオフして再試行します
  • 進捗の保存 — 同期が中断された場合、進捗はストリームごとに保存され、次の同期はそこから再開されます
  • スタック同期のクリーンアップ — バックグラウンドジョブがスタックした同期を定期的に検出してクリーンアップします

ウォレット詳細ビューのSyncタブには以下が表示されます:

進捗詳細付きウォレット同期タブ

  • ストリームごとの現在の同期ステータス(Transactions、Token Transfers)
  • ストリームごとの最終処理ブロック番号
  • 取得済み取引の総数
  • エラーメッセージ(ある場合)
  • 最後に成功した同期の時刻
  • 単一ウォレット: ウォレット詳細を開いてSync Nowをクリック
  • 再スキャン: ブロック0からウォレットを強制的に完全再スキャン
  • 同期リクエスト: ユーザーが同期をリクエストし、ワークスペースマネージャーが承認または却下

よくある同期エラーとその解決方法:

エラー原因解決方法
レート制限超過プロバイダーへのリクエストが多すぎる待機して再試行。自動バックオフが処理します。
タイムアウト大量データのバッチ処理に時間がかかっている自動処理。次の同期はストリームごとの最終ブロックから再開します。
無効なアドレスウォレットアドレスが選択したチェーンに合っていないアドレスフォーマットとチェーンの選択を確認してください
プロバイダー利用不可ブロックチェーンデータプロバイダーが一時的にダウン待機後に自動再試行
二重同期が検出された同じアドレスが既に同期中既存の同期が完了するまで待つ

継続的な問題については、同期と接続性のトラブルシューティングガイドをご参照ください。

お困りですか?

お探しのものが見つかりませんか?サポートチームがお手伝いします。

貴社向けにCryptaCountを検討中ですか? 料金を見る · デモを予約