暗号資産・ブロックチェーン研究

暗号資産・ブロックチェーン研究

最近の記事

スマートコントラクトのMethod IDを求める(@python)ことでスマコン実行の流れについて理解が深まった話

pythonからブロックチェーン上のスマートコントラクトにアクセスすることにいくつかチャレンジしてきましたが、その際によく見たMethod ID。 何気なくpythonで書きたいコントラクト内の関数特定のヒントにしていましたが、何者なのか?また、どのように求められるのかをまとめておこうと思います。 Method ID(関数セレクター)とはブロックチェーン上のスマートコントラクト内の関数を実行するには、RPCエンドポイントに対して、 ・対話したいスマートコントラクトのアドレ

    • UniswapV3(SwapRouter02)でのmulticall実装@Baseをpythonで。

      DEXを触っているとMulticallという関数に出会うことがよくあるので、この理解は必至と思いながらDocsを読むも、いまいち先へ進めない。 今回も柴犬さん(https://x.com/leidream1)に99%頼る形となりました。有益すぎる情報の提供、感謝いたします。 やることは、Base Mainnetにおいて ・WETHからUSDCへのスワップ ・WETHからUSDTへのスワップ という2つの関数呼び出しをまとめてmulticall関数で呼び出す、ということです。

      • プログラムを永続化する@PM2

        私は、Xにてfear and greed indexを自動ポストするプログラムを動かしているのですが、度々勝手に落ちています。 今までは手動でプログラムを走らせ直すという作業をやっていたのですが、 自動で復帰するようにしようと思います。 PM2導入PM2はアプリケーションを永続化してくれるアプリです。 PM2にてプログラムを起動すると、異常終了した場合に自動でプログラムを起動してくれます。 pm2がインストールされているか確認する。 下記のコマンドを実行すると、pm2で管

        • pythonを用いたBEX@Berachainでのswap

          少し前に挑戦はしていたのですが、挫折していたのがberachainのswap。 ここ2回、個人的には結構重いswap案件をこなしたのでそろそろいけるんじゃないかと思い、戻ってきてみると、あっさりできたので報告です。 ちなみに重かったのは以下2つ。 まずはpythonコード雑に言ってしまうと、DocsのExampleをpythonコードに書き直しただけです。 1WBERA→HONEYにスワップするコードです。 #bera_swap.pyimport jsonfrom w

        スマートコントラクトのMethod IDを求める(@python)ことでスマコン実行の流れについて理解が深まった話

          pythonを用いてSyncSwapでSwap(ETH⇔USDC)するコード

          SyncSwapで使われているRouterを使ったSwapをpythonから実行することがやっとできました。 ただ、結果としてできた、という感じで理解についてはまだまだですので、コードを使われる際はGOXにご注意ください(使うとしても本当に少額で!少し設定を触ると簡単にGOXします!) 参考URLは下記です。 ETH→USDCの方向でSwapするコード@SyncSwap0.001ETHをUSDCにスワップするコードです。 今回はLineaネットワークを使いました。 説明は

          pythonを用いてSyncSwapでSwap(ETH⇔USDC)するコード

          pythonでswapするコードの正解を理解しながら自分の型に落とし込む作業

          様々なDEXにおいて、pythonでプログラムからのswapに試みたが、結局何もかも上手くいかなかったので、まずは真似ることから入ってみようと思う。 Ambient FinanceのDEXで動くswapプログラムをhttps://x.com/leidream1さんが公開(https://github.com/reidream/Ambient_userCmd/blob/master/userCmd.md)してくださっているので、これをただコピペするのではなく、理解しながら自分の

          pythonでswapするコードの正解を理解しながら自分の型に落とし込む作業

          pythonでUniswap V2プール内のWETHの価格を取得する

          Base Mainnetにおいて、pythonでプログラムを書いてUniswap V2プール内のWETHの価格を求めます。 どのように求めれば良いかをまずは、プログラムを書かずに理解し、その後、理解したことをプログラムで実行するという手順で進めます。 まずはBaseScanからアナログな方法で導くまずは、WETHが何USDCの価値なのか、を前回の記事を参考に確認してみます。 この記事では、 0x88A43bbDF9D098eEC7bCEda4e2494615dfD9bB9

          pythonでUniswap V2プール内のWETHの価格を取得する

          Uniswapの登場人物を実際のコントラクトで確認する

          前回、Uniswapをはじめとした流動性プールの全体像を概念的に理解しました。 今回は、実際のコントラクトから流動性プールの構成をたどります。 uniswapのDocsに各ネットワークにおけるFactoryとRouterのコントラクトアドレスが掲載されています(今回はUniswap V2プロトコルを対象とします)。 例えば、Base Mainnetについて確認します。 Routerのコントラクトアドレスは0x4752ba5dbc23f44d87826276bf6fd6b

          Uniswapの登場人物を実際のコントラクトで確認する

          Uniswapなどの流動性プールの全体像と要点をまとめておきます

          やりたいことは、pythonなどのプログラムからのDEXコントラクトを使うことなのですが、その際に全体像を把握しておかなければならないと感じたので、流動性プールの全体像をまとめてみます。 流動性プール全体の構成と機能登場人物は3名。 ・Factoryコントラクト ・Poolコントラクト ・Routerコントラクト 基本的にユーザーは、WebUIを通してRouterコントラクトとやりとりすることになります。 FactoryコントラクトはPoolコントラクトをデプロイするた

          Uniswapなどの流動性プールの全体像と要点をまとめておきます

          WindowsPCでUbuntuを使えるようにする

          今回は今まで使っていたPCが壊れたので、新規に環境構築をしなければならなくなったので方法をメモしておこうと思います。 マシンスペック OS: Windows 10 Pro(64bit) CPU: Intel Core i7-6700K@4.00GHz メモリ: 16GB wslをインストールするWindowsでUbuntuを使えるようにするにはWSL(Windows Subsystem for Linux)をインストールする必要がある。 Windows PowerShe

          WindowsPCでUbuntuを使えるようにする

          pythonでガス代を安く済ませようとしてみた話(Berachain:bArtio)

          ガス代についてブロックチェーンにトランザクションを送信し処理してもらうにはガス代と言われる所謂手数料が掛かることはご存知の通りです。 普段DEXなどを触るときは既存のGUI(WEBページなど)で操作することが多いので気にならないのですが、先日pythonでブロックチェーン上の操作を試みた際に、いつもよりガス代が多くかかっていて気になったので、これに対処していこうと思います。 要は、自分で書いたプログラムでブロックチェーンを操作したら、同じことをやっているのにDEXのWeb

          pythonでガス代を安く済ませようとしてみた話(Berachain:bArtio)

          Berachain(bArtio)でpythonでWrapとUnwrapをしてみる話

          ※間違い等もあるかもしれませんので、ご利用は自己責任でお願いします。 Berachainにてスマートコントラクトをpythonから動かしてみようと思い、手始めにWrap/Unwrapをやってみた。 BerachainのネイティブトークンはBERAですが、スマートコントラクトで扱おうとするとERC20トークン(Beraでもこう言うのかな?)でなければならないです。 つまり、Swapなどの操作をする場合にその交換されるトークン同士は対等な関係(どちらもERC20トークン)じゃ

          Berachain(bArtio)でpythonでWrapとUnwrapをしてみる話

          chmod +x の意味をChatGPTに聞いたらやりとりが秀逸だったのでメモしておきます

          chmod +x は誰に実行権限を付与するのですか? ChatGPT: ChatGPT chmod +x コマンドは、指定されたファイルに「実行権限」を付与するコマンドです。しかし、この実行権限は誰に付与されるかは、ファイルの現在のパーミッションと指定する権限の範囲によって変わります。 ファイルには「ユーザー」「グループ」「その他のユーザー」という3つのカテゴリに対して権限が設定できます。 chmod +x を単独で実行すると、現在の所有者(ユーザー)に対して実行権

          chmod +x の意味をChatGPTに聞いたらやりとりが秀逸だったのでメモしておきます

          Shardeum validator nodeの建て方

          実施は自己責任でお願いします。 参考URL https://docs.shardeum.org/docs/node/run/validator#download-and-install-validator 環境: Ubuntu20.04 curl、docker、docker-composeのインストール インストール済みの場合は下記コマンドで確認できる #インストールされているcrulのバージョンを確認curl --version#インストールされているdocker

          pythonでUniswapV2Routerコントラクトを呼び出してBaseネットワークでswapしてみた話

          ※自身の備忘録的な意味合いが強いので、使用は自己責任の参考程度でお願いします。 仮想通貨まわりの作業を自動化したいと思い、少しずつ勉強していこうと思っています。その足掛かりとしてプログラムを組んでスワップする、ということを今回やってみました。 舞台はBaseネットワークです。 WETH→AERO(Swap)#base_swap1.pyimport jsonfrom web3 import Web3from datetime import datetimebaseRpc

          pythonでUniswapV2Routerコントラクトを呼び出してBaseネットワークでswapしてみた話

          chainlinkからETH価格を取得するコントラクトをデプロイしてみた(foundry)

          素人備忘録ですので、自己責任で参考にしてください。 前提は、foundryがインストールされていることになります。 参考: https://www.solidity-in-foundry.com/Applications/Chainlink/ChainlinkDataFeeds/ChainlinkDataFeeds.html プロジェクトの作成 chainlink_test(ディレクトリ)にデフォルトプロジェクトを作成 chainlink_testディレクトリが作成さ

          chainlinkからETH価格を取得するコントラクトをデプロイしてみた(foundry)