仮想通貨の取引をする際には、CEX(中央集権型取引所)だけでなくDEX(分散型取引所)も利用されるという方もおられるでしょう。日本のCEXでは扱われていないトークンが取引できることや、単なる売買だけでなくDEXならではのさまざまな種類の取引ができることが大きなメリットです。本記事では、そんなDEXの中でも多くのチェーンに対応しており、取引量が多く人気のあるUniswapでのスワップ取引について解説していきます。ここでは、実際にUniswapでスワップ取引を行い、Uniswapのスワップ取引の種類Uniswapのスワップ取引のやり方Uniswapのスワップ取引のトランザクション(取引履歴)の見方について、画像付きで詳しく解説していきます。UniswapとはUniswapはHayden Adam氏によって設立されたDEX(分散型取引所)です。2024年5月現在では、Ethereum、Arbitrum、Optimism、Polygon、Base、BNB Chain、Avalanche、Celo、Blast、と多くのチェーンに対応しています。2018年、Uniswapのバージョン1(V1)がローンチされました。その後、2020年にはバージョン2(V2)、2021年にはバージョン3(V3)とバージョンアップ版がリリースされています。Uniswapの特徴としては、取引高が最大規模のDEX流動性プールを活用したAMM(自動マーケットメーカー)の分散型取引所多様なチェーンに対応ガバナンストークンUNIを用い、DAO(※)での投票によって意思決定がされるトークンの上場審査がないなどがあります。※DAO(分散型自律組織)とは、特定の管理者が存在せず、参加者によって共同管理・運営される組織のことです。最大規模で情報が多く、多様なチェーンに対応していて柔軟な取引が可能なため、代表的なDEXとして最初に触ってみた方も多いのではないでしょうか。昨今話題のミームコインについても取り扱いが多いのも魅力ですね。そんなUniswapの機能の一部であるスワップ機能を今回は紹介していきます。Uniswapのスワップの種類Uniswapのスワップ取引では2024年5月現在では以下の2種類の取引が可能です。Swap (日本語表記:スワップ)Limit (日本語表記:限界)この内、LimitはEthereumチェーンでしか利用できません。Ethereum以外のチェーンでLimit取引をしたい場合は他のDEXを利用しましょう。Swapでの取引Swapを利用して取引する場合、成行注文での取引となります。即座に取引できるのがメリットですが、流動性が低いトークンの場合、スリッページ(注文時の想定価格と約定時の価格の差)が大きくなる場合があるので注意が必要です。Limitでの取引Limitを利用して取引する場合、指値注文での取引となります。目標価格を設定して注文できるため、想定外の価格で約定してしまう心配がありません。ですが、Uniswapではこの機能はEthereumチェーン上でしか利用できません。UniswapのSwap機能でスワップしてみたでは、実際にUniswapのSwap機能を使ってみましょう。複数のチェーンに対応していますが、今回はPolygonチェーンを使って、どんなメソッドが呼ばれて、どんなトランザクションが発行されるのか見ていきます。ERC20とのスワップ最初にMATICをUSDCにスワップしてみます。MATIC => USDCこの取引で発行されたトランザクションハッシュは以下になります。0x335aeb60880aa5cca28d1c3d8ed496e60edef7f5ae7215c6a55acedda2a2b26fこれをpolygonscanで見てみると、以下の情報がわかります。From自分(0x7A115ef9731AC1172Dc6E3370635b79c633d27A9)ToUniswap: Universal Router V1 2 V2 Supportメソッド名executeTransaction Action 0.01 MATIC => 0.00995 USDC にスワップTransaction Fee0.008155814086389163 MATICさらにトランザクションの内容を詳しく見てみますと、自分から「Uniswap: Universal Router V1 2 V2 Support」へ送った0.01MATICは「Polygon: WMATIC Token」へTransferされていることがわかりますね。自分(0x7A115ef9731AC1172Dc6E3370635b79c633d27A9) ↓0.01 MATICUniswap: Universal Router V1 2 V2 Support ↓0.01 MATICPolygon: WMATIC Tokenそして、ERC20の流れを見てみますと、以下のようにWMATICとUSDCがTransferされています。0xB6e57ed85c4c9dbfEF2a68711e9d6f36c56e0FcB ↓0.00995 USDC自分(0x7A115ef9731AC1172Dc6E3370635b79c633d27A9)Uniswap: Universal Router V1 2 V2 Support ↓0.01 WMATIC0xB6e57ed85c4c9dbfEF2a68711e9d6f36c56e0FcBつまり、トランザクションを発行した自分(0x7A115ef9731AC1172Dc6E3370635b79c633d27A9)を軸にして見ますと、「Uniswap: Universal Router V1 2 V2 Support」へ0.01MATICを送る「0xB6e57ed85c4c9dbfEF2a68711e9d6f36c56e0FcB」から0.00995USDCを受け取る手数料として0.008155814086389163 MATICを支払っているという取引が行われていることがわかります。ラップドトークンとのスワップ次に、同じようにMATICをWMATICにスワップしてみましょう。WMATICは、MATICのWrapped Tokens(ラップドトークン)と呼ばれ、仮想通貨を別のブロックチェーン上で使用するための代替トークンになります。MATIC => WMATICこの取引で発行されたトランザクションハッシュは以下になります。0xb4814a0eaaa62457888a432750ceab32ac971e4e617db5e91c67420112b4a3c0これをpolygonscanで見てみると、以下の情報がわかります。From自分(0x7A115ef9731AC1172Dc6E3370635b79c633d27A9)ToPolygon: WMATIC Tokenメソッド名depositTransaction Fee0.056320643717161667 MATICMATICからWMATICへのスワップでは、自分から「Polygon: WMATIC Token」へMATICを送付したという履歴しか見られません。しかし、実際にはWMATICが自分のウォレットに入ってきています。つまり、トランザクションを発行した自分(0x7A115ef9731AC1172Dc6E3370635b79c633d27A9)を軸にして見ますと、「Polygon: WMATIC Token」へ0.01MATICを送る(Polygonscanの履歴にはないが)自分のウォレットに0.01WMATICが送られる手数料として0.056320643717161667 MATICを支払っているという取引が行われていることがわかります。ガバナンストークンとのスワップ最後に、MATICをUNIにスワップしてみましょう。UNIは、Uniswapが発行している独自トークンであり、ガバナンストークンと呼ばれています。MATIC => UNIこの取引で発行されたトランザクションハッシュは以下になります。0x4c5ac65f2b1a3c757b5cc3a951f7f1ec9cce4910bb6cfec563e7f21c7e24faf0これをpolygonscanで見てみると、以下の情報がわかります。From自分(0x7A115ef9731AC1172Dc6E3370635b79c633d27A9)ToUniswap: Universal Router V1 2 V2 Supportメソッド名executeTransaction Action 0.01 MATIC => 0.000779823340331605 UNI にスワップTransaction Fee0.065470373718816 MATICさらに、トランザクションの内容を詳しく見てみますと、自分から「Uniswap: Universal Router V1 2 V2 Support」へ送った0.01MATICは「Uniswap: Universal Router V1 2 V2 Support」から「Polygon: WMATIC Token」へTransferされていることがわかりますね。自分(0x7A115ef9731AC1172Dc6E3370635b79c633d27A9) ↓0.01 MATICUniswap: Universal Router V1 2 V2 Support ↓0.01 MATICPolygon: WMATIC Tokenそして、ERC20の流れを見てみますと、以下のようにWMATICとUSDCがTransferされています。0x50cAd48c1Ca7db58e09dcd3BF029BcdFc279f4E6 ↓0.000779823340331605 UNI自分(0x7A115ef9731AC1172Dc6E3370635b79c633d27A9)つまり、トランザクションを発行した自分(0x7A115ef9731AC1172Dc6E3370635b79c633d27A9)を軸にして見ますと、「Uniswap: Universal Router V1 2 V2 Support」へ0.01MATICを送る「0x50cAd48c1Ca7db58e09dcd3BF029BcdFc279f4E6」から0.000779823340331605 UNIを受け取る手数料として0.065470373718816 MATICを支払っているという取引が行われていることがわかります。ガバナンストークンのスワップは、他のERC20のスワップと同じような流れになっていますね。クリプトリンクへ登録してみようそれでは、実際にスワップ取引をしてみた履歴をクリプトリンクに登録してみましょう。クリプトリンクには「ウォレット/Defi取引」というページがあります。こちらから、自分のウォレットアドレスを登録して、トランザクションを取得することができます。まずは、ウォレットアドレスの新規登録を行います。トランザクションを自動で取得したい場合は「自動取得」を選択し、チェーンと取得開始日時を入力します。上記の状態で「登録する」ボタンをクリックすると、アドレスが登録され、トランザクションも自動取得されて、ウォレット履歴の明細が作成されます。ERC20とのスワップした場合まずは、Swap機能を使ってERC20のスワップした履歴を確認しましょう。先ほどの取引の履歴は以下です。取引日時2024年4月1日14時8分44秒チェーンPolygon取引内容MATIC => USDCへのスワップクリプトリンク上では、以下のウォレット明細が確認できます。「詳細修正」ボタンを押して、詳細を確認すると、以下になります。この内容で問題なさそうですので、先ほどの画面で「登録」ボタンを押すと、以下のように「収支計算」の画面にUSDC/MATICの売買明細と手数料の明細が登録されます。ラップドトークンとのスワップした場合次に、ラップドトークンのスワップした履歴を確認しましょう。先ほどの取引の履歴は以下です。取引日時2024年4月1日14時51分52秒チェーンPolygon取引内容MATIC => WMATICへのスワップクリプトリンク上では、以下のウォレット明細が確認できます。polygonscanでトランザクションを見た時は、WMATICの受け取り履歴はありませんでしたが、クリプトリンク上ではスワップの履歴を補完して、WMATICの受け取りも登録しています。「詳細修正」ボタンを押して、詳細を確認すると、以下になります。この内容で問題なさそうですので、先ほどの画面で「登録」ボタンを押すと、以下のように「収支計算」画面に、WMATIC/MATICの売買明細と手数料の明細が登録されます。ガバナンストークンとのスワップした場合最後に、ガバナンストークンのスワップした履歴を確認確認しましょう先ほどの取引履歴は以下です。取引日時2024年4月1日15時6分30秒チェーンPolygon取引内容MATIC => UNIへのスワップクリプトリンク上では、以下のウォレット明細が確認できます。「詳細修正」ボタンを押して、詳細を確認すると、以下になります。この内容で問題なさそうですので、先ほどの画面で「登録」ボタンを押すと、以下のように「収支計算」画面に、UNI/MATICの売買明細と手数料の明細が登録されます。まとめ今回は、UniswapのSwap機能を使ってスワップ取引をやってみました。Uniswapのスワップ取引の種類Uniswapのスワップ取引のやり方Uniswapのスワップ取引のトランザクション(取引履歴)の見方などを詳しく画像付きで解説しました。Uniswapは最大規模のDEXで情報が多いこともあり、利用している方も多いと思います。ですが、その裏側でどのようにトークンが動いているか、トランザクションの内容まで確認したことがある方は少ないかもしれません。本記事で、トランザクションの内容にまで興味を持っていただけましたら、ご自身の取引履歴を確認し、損益計算に繋げていただければと思います。その際には、ぜひ、記事でも紹介しましたクリプトリンクサービスをご活用ください。クリプトリンクサービス