Baseチェーンでトークンを自動売買するシステムには、「現在、何が分かっていて、その知識に基づいてどの操作が許されるか」という基本的な問いへの正確な答えが必要です。トークンの通知、有効な見積もり、購入の完了は、それぞれ異なる状態です。同じものとして扱うと、支出の重複、履行すべき事項の見落とし、取得費用を説明できないポジションが生じる場合があります。
状態機械は各段階に名前を付け、先へ進むために必要な証拠を定義します。名前よりも、状態間の境界が重要です。要求がタイムアウトしたからといって候補を適格にしたり、受領確認が届かなかっただけで送信済みトランザクションを失敗としたりしてはいけません。不確かさも、それ自体の扱いを定めるべき状態です。
この記事では、一般的な学習のために仮の設計を組み立てます。予算や価格は架空の例であり、現在の手数料や期待リターンではありません。目的は、不適切な操作を断り、中断後にも判断を再構築できる、理解しやすい手順を作ることです。
Baseチェーンのトークン自動売買の状態機械を定義する
実際の判断に対応する少数の状態から始めます。「候補」は調査する価値のある対象です。「適格」は必要な確認に合格したこと、「確保済み」は特定の実行意図のために予算を拘束したことを意味します。「送信済み」は、認可されたトランザクションが口座に影響を与え得る状態です。「照合済み」は、選択した証拠の受入れ方針に従って口座上の結果が確定したことを示します。
必要に応じて、「却下」「失効」「未解決」も明示的に加えます。却下では、どのルールに合格しなかったかを示します。失効では、古くなりすぎた証拠や、条件を満たさなくなった機会を特定します。未解決では、関連するトランザクションと口座の証拠によって決着するまで、外部で影響が生じた可能性を残します。
Baseの自動化スケジュールのガイドは、時間と予算の制約の関係を説明しています。状態機械では、その規律を個々の候補に適用します。各遷移について、きっかけとなった観測、その時点の方針の版、結果として生じた拘束を記録し、後の調査が画面表示についての誰かの記憶に依存しないようにします。
候補の識別を安定させる
トークンのシンボルは表示項目であり、一意の識別子ではありません。候補の記録には、対象ネットワーク、コントラクトアドレス、関係する市場や経路を含めるべきです。同じコントラクトが複数のメッセージに現れても、別々の購入機会ではなく、一つの候補についての報告かもしれません。
資産だけでなく、イベントにも識別子を選びます。市場の作成と、その後の流動性追加は、同じトークンに関するものでも別の証拠です。逆に、二つの提供元が同じイベントを異なる時刻に報告することもあります。両方の観測を残しつつ、自動的に二つの購入意図を作らないようにします。
識別の誤りは、その後のすべての状態に波及します。あるコントラクトの見積もりで、同じティッカーを使う別のコントラクトの購入を認可することはできません。一度却下したアドレスも、表示名が変わっただけで再び適格にしてはいけません。Baseのトークン識別ガイドは、この最初の境界を支える資産単位の詳細を説明しています。
特定の状態ビューに証拠を結び付ける
BaseのRPC概要によると、公開エンドポイントはFlashblocksに対応しています。これらのエンドポイントでpendingが表すのは、現在進行中の事前確認済みブロックです。一般的な未処理トランザクションのプールと説明するべきではありません。同じページには、公開エンドポイントはHTTPのみであり、購読を使う手順には適切なプロバイダーが必要とも記されています。
そのため、候補の記録には、エンドポイント、要求した状態ビュー、観測の文脈を残すべきです。以前のビューから得た見積もりと、後のビューから得た残高が、自動的に整合したスナップショットを作るわけではありません。意図する操作に対して、証拠が十分にそろっているかを判断する方針が必要です。
これは、すべての判断で最も強い確認を待つ必要があるという意味ではありません。選択した方針を明示する必要があるということです。早い段階の証拠で、意図的に限定した判断を支えられる場合もあります。一方、後の会計や出金のために保有状態が十分確定したと扱うには、より強い証拠が必要になるかもしれません。
データの欠落と否定的な結果を区別する
要求の失敗は、トークンに制限、流動性、関連権限がないという証拠とは異なります。情報を利用できない状態は、有効な回答と別に表現するべきです。そうしないと、提供元の一時的な問題が、意図せず最も寛容な解釈につながる場合があります。
例えば、評価に成功したうえで対応経路がないと返す照会と、応答を復号できなかった照会は異なります。どちらも即時購入を妨げるかもしれませんが、必要な説明や復旧操作は別です。前者は市場が対応できることに関わり、後者はそれを観測するシステムの能力に関わります。
どの入力の欠落なら却下し、どの欠落なら後で再試行できるかを定義します。再試行でも候補の元の観測時刻を保ち、証拠が遅れて届いたというだけで古い機会を新しくしないようにします。BaseのAPI信頼性ガイドは、通信の健全性とデータ品質を別々に記録する理由を説明しています。
適格性を再現可能な判断にする
適格性は、結果が不都合になるたびに意味が変わる点数ではなく、名前を付けた確認項目の結果にするべきです。確認には、コントラクトの識別、対応する動作、経路の有無、観測からの経過時間、推定費用、利用可能な予算などを含められます。重要性は戦略によって異なっても、解釈は安定させる必要があります。
判断に使った入力値を残します。後の確認者が、当時の証拠から下した妥当な判断と、すでに利用できた情報を無視した欠陥を区別できるようにするためです。元のスナップショットを今日の値で置き換えると、その区別が失われます。
適格な候補でも、直ちに購入する必要はありません。複数が適格でも、現在の口座の資源制限に収まるのは一つだけかもしれません。適格性と認可を分ければ、調査基準は満たしたものの、別の実行意図がすでに余力を使っていたため選ばれなかった、と説明できます。
購入元本と運用資源を一緒に確保する
Baseチェーンのトークン自動売買におけるガスの予備資金は、資源を管理する方針であり、すべてのトランザクションが同額になるという見積もりではありません。Baseのネットワーク手数料の文書は、レイヤー二の実行費用とレイヤー一への公開費用を区別しています。一方だけを数える予算では、操作に必要な資金を過小評価する場合があります。
Baseのネットワーク詳細では、ネットワーク通貨はETHとされています。購入したトークンやステーブルコインを持っていても、次の必要なトランザクションに十分なネイティブETHがあるとは限りません。画面に合計価値が表示されていても、購入元本と運用資源は別々に確認するべきです。
0.050 ETHを持つ架空の口座を考えます。方針では、後の運用に0.004を確保し、購入元本は最大0.030、今回のトランザクションの上限付き推定費用には0.003を割り当てます。合計の拘束は0.037で、未拘束の0.013が残ります。これは配分の説明であり、推奨値や実際の手数料見積もりではありません。
並行する候補が同じ余力を再使用するのを防ぐ
外部操作が資金を消費し得るようになる前に、確保を行う必要があります。二つの処理が同じ利用可能残高を読み、それぞれ独立に認可すると、個別には妥当でも合計は上限を超えることがあります。口座には、拘束について一貫した一つの見方が必要です。
架空の日次支出枠に六十単位が残り、適格な二候補がそれぞれ四十を必要とするとします。最初の確保後は二十しか残らないため、二番目はその規模で進められません。両方の確保前に枠を確認するだけなら、新たな支出八十単位を誤って承認してしまいます。
確保した資源は、永続化した実行意図の識別子に結び付けます。再起動時には、新候補を評価する前に拘束を復元するべきです。ローカルの処理が消えたために解放すると、処理の寿命と金銭上の義務を混同します。再び使用可能になる時点は、確定した結果か、未解決のリスクを扱う明示的な方針だけで決める必要があります。
認可した実行意図に見積もりを結び付ける
見積もりには、口座が何を支出し、何を受け取ると見込み、どの経路を使い、どの条件で執行を制限するかを示すべきです。それらの値を方針上の判断と結び付けておきます。経路や宛先が変わると、元の承認では署名するトランザクションを説明できなくなるかもしれません。
架空の見積もりで、十単位の支出に対して2,000トークンが示され、認可した最低受取量が1,940だとします。差は六十トークンで、表示された数量の3%です。この境界は、例で許容する出力量の悪化を表します。見積もりどおりの執行を予測したり、経済的に有利な結果を保証したりするものではありません。
トークンの動作によって、総数量と正味数量が異なる場合があります。使う経路の制限が実際に何を測るかを理解し、意図した口座に届く量を照合するべきです。送金時の控除や経路の実装について万能な仮定を置くより、対応する特定のトランザクション経路の動作を確認するほうが確かです。
署名前に権限を確認する
購入には、既存の許可、新たな承認、またはネイティブ資産の直接送金が必要かもしれません。認可上、それぞれ別の状況です。分かりやすい操作名だけに頼らず、受取先、対象コントラクト、金額、資産、関係する支出権限を署名前に特定するべきです。
承認トランザクションは、それ自体では目的のトークンを取得せず、将来の権限を変えることがあります。独立した影響として記録します。後の購入が失敗しても承認は残る場合があり、戦略全体の試行が失敗したというだけで、口座の権限記録から消してはいけません。
設定では、経路や支出上限の変更を誰が認可できるかを制限するべきです。データ配信は観測を提供するものであり、黙って上限を書き換えるものではありません。証拠収集とトランザクション権限を分けると、予想外のメッセージで、未確認のまま口座の操作範囲が広がる可能性を減らせます。
送信を照合の始まりとして扱う
送信後には、複数の結果を想定するべきです。トランザクション識別子がすぐ届く場合、後で失敗を観測する場合、応答を失ってもトランザクションは実行可能なままである場合があります。永続記録には、それぞれを調査するのに十分な識別情報と文脈を残す必要があります。
ネットワーク要求の再試行と、新たな経済的試行は別の操作です。トランザクションの再送や置換の結果は、実際のトランザクションモデルと現在の状態によって決まります。応答がないために、元の意図と無関係な新規購入が許される、と状態機械で推論してはいけません。
新たな支出を止めている間も、読み取り専用の調査は続けられます。文書化した復旧方針に従い、既知のトランザクション、関連する口座の順序情報、残高を確認します。元の拘束が完了したのか、実行不能になったのか、未解決のままなのかを説明する結果が必要です。単に赤い状態アイコンが出たというだけでは、予算解放の根拠になりません。
保有記録を更新する前に実際の受取量を照合する
実行の受領証はトランザクションの証拠ですが、保有台帳には、意図した宛先に実際に届いた資産と数量も必要です。生の単位、トークンの表示精度、関係する口座を記録します。丸めた残高表示では、残余を隠したり、違う数量を等しく見せたりすることがあります。
例として、見積もりは1,000トークンでも、対応経路とトークンの動作によって受取量が980になったとします。割り当てた取得費用の総額が価値単位で49なら、受け取った一トークン当たりの平均費用は0.05です。見積もりの1,000で割ると0.049となり、実際に保有する数量の取得原価を過小評価します。
この例は、特定のトークンが手数料を控除すると主張するものではありません。原因にかかわらず受取数量が重要な理由を示しています。既知の経路やトークンの動作で差を説明できない場合は、都合のよい残高を黙って受け入れず、ポジションを確認中に保ちます。
売却前にポジションを再確認する
Baseチェーンのトークン自動売買で売却前に確認するのは、まず残りの単位数、現在の権限、使用可能な運用資源です。購入時の判断に使った証拠は、もう関係しないかもしれません。保有中にも、流動性、経路の有無、コントラクト設定は変わり得ます。
きっかけが発生する前に、売却ルールの意味を定義します。価格条件で上限や下限を設けた売却を要求できても、その価格や十分な流動性が市場にあるとは保証できません。状態機械では、きっかけ、現在の執行適格性、売却の完了を分けるべきです。
売却が失敗すれば、未決済の保有を管理する問題が残ります。停止条件が発動したり送信を試みたりしただけで、台帳上のポジションを閉じてはいけません。残数量と売却が完了しなかった理由を残し、その実際の状態に、認可された復旧や確認の方針を適用します。
取得原価を失わずに部分売却を会計処理する
売った単位と残した単位への取得費用の配分には、一貫した方法を使います。架空のポジションで、1,000トークンの総費用が五十単位だとします。四百を売却費用後の二十四で売れば、その売却に原価二十を配分し、利益四を実現します。
残る六百トークンには原価三十が残ります。後に費用後で二十七を得た場合、二回目の売却は三の損失です。総受取は五十一、元の費用は五十なので、全ポジションの利益は一です。利益の出た最初の売却だけを報告すると、結果を過大評価します。
現在価値が小さくても、トークンの残余は明示します。最低取引量、丸め規則、利用できない経路によって単位が残る場合があります。必ずしもソフトウェアの誤りではありませんが、説明できる状態を付けるべきです。戦略の完了時に毎回残高ゼロと表示させるより、残余を正直に記録するほうが適切です。
一時停止と再起動でも義務を維持する
新規参入の停止と同時に、送信済みトランザクションの観測まで自動的に止めるべきではありません。拘束の照合と既存保有の監視を続ける必要があるかもしれません。そうしないと、利用者が分かりやすくなると期待した一時停止によって、逆に不確かさが増す場合があります。
候補の受入れ、新たな拘束の作成、口座記録の維持に、それぞれ別の制御を定めます。権限が侵害された場合には、より広い緊急停止が適切かもしれませんが、運用上の結果を明示する必要があります。ローカル処理を止めただけで送信済みのネットワークトランザクションが取り消されたかのような表示をしてはいけません。
再起動時には、新候補の評価前に未解決の意図と確保資源を復元します。外部証拠と口座を照合して差を特定し、復元した状態で裏付けられる操作だけを再開します。最初のAPI応答の成功は接続を証明しますが、金銭上の義務についての戦略の記憶が完全であるとは証明しません。
Baseチェーンのトークン自動売買の状態遷移を試す
効果的な予行演習では、画面を個別に試すだけでなく、中断をまたいで候補を追います。候補Aが適格となり、四十単位を確保して、認可されたトランザクションを得たとします。送信後に応答が消え、その後候補Bも、元は六十単位だった枠から四十を要求します。Aの拘束が未解決の間、Bへの資金割当ては認められません。
次に観測経路を復元し、Aが割当費用込みで三十八単位を使って実行されたと確定します。台帳には支出を記録し、確保したうち未使用の二単位だけを解放して、元の枠から二十二が使用可能として残るようにします。四十全体を解放すると、支出済みの資源を誤って復活させます。新しい支出に加えて四十全体も確保し続けると、同じ拘束を二重に数えます。
最後に、Aの元のシグナルを再配信します。既存候補と完了した意図との関係を認識するべきです。再配信した証拠で監査記録を充実させられても、復旧後に届いたというだけで別の購入を作ってはいけません。この一つの場面で、識別、不確かさ、予算の保存、再起動の動作を同時に試せます。後にトークンの価値が上がったかを仮定せず、期待する遷移を確認できます。
以前の証拠への訂正を残す
以前のビューが新しいものに置き換えられたり訂正されたりすると、観測したチェーン履歴の照合が必要になる場合があります。以前受け入れた観測が変わった理由を理解できるよう、十分な文脈を残すべきです。黙って記録を上書きすると、正当な訂正と理由不明の台帳編集を区別しにくくなります。
元の観測、後の証拠、その結果の会計処理を結び付けて残します。受け入れたイベントの状態が変わった場合は、実際のネットワーク上の結果を使って、依存する候補と保有を再評価します。ローカル履歴を以前の仮定に似せるためだけに、埋め合わせの取引を自動発行してはいけません。それは独自の認可を要する新たな経済的操作です。
維持すべき有用な原則は、現在の台帳が受け入れた最良の証拠を反映し、監査履歴にはそこに至った経緯が残ることです。この方法は、運用の復旧と、訂正が利用可能になる前に行った判断の正直な検証の両方を支えます。
購入と同じくらい丁寧に却下を確認する
却下記録は、システムが方針を適用しているのか、黙って市場の観測に失敗しているのかを説明します。非対応の動作、古い証拠、手元資金の不足、利用できない経路などに理由を分類します。データの失敗と、戦略として意図的に除外したものを区別できるようにします。
却下した候補を、その後の価格だけで評価してはいけません。その方法では判断時には使えなかった情報を使い、有利な結果を見た後にルールを弱めることにつながります。代わりに、当時の入力が方針を満たしていたか、却下理由が正確だったかを問います。
有用な運用報告は、状態機械の全体を通じて候補を追い、どこで止まったかを特定します。すべての購入を認可に結び付け、残る各残高を既知の結果に結び付けます。これが、証拠を中心に設計したBaseチェーンのトークン自動売買の実用的な価値です。待機、辞退、調査が正しい判断である場合も、活動を説明できる状態を保てます。