Fragments of verbose memory

冗長な記憶の断片 - Web技術のメモをほぼ毎日更新

Apr 17, 2023 - 日記

Lokiのデータを一定時間後に削除する

Grafana Loki はログ管理システムであり、大量のログデータを効果的に管理するために使用されます。しかし、Loki はログデータが膨大になるとストレージ領域を圧迫する可能性があります。そこで、一定期間ごとに Loki の古いログデータを削除する必要があります。本記事では、Bash シェルスクリプトを使用して Loki のログデータを削除する方法を説明します。

May 3, 2022 - 日記

グラフノードのスケールアウト

グラフノードのスケールアウトの画像

English version

何らかの理由によりThe Graph 等のhosted-serviceを使わずに自分でgraph-node を建てる場合、グラフノードのスケールアウトも正しく考慮する必要があります。スケールアウトできる構成を組まないと、Web3クライアントからリクエストが504(Gateway Timeout)になってしまう事態が頻発します。本稿では簡単に実現できるグラフノードのスケールアウトの方法をご紹介します。

Feb 14, 2022 - 日記

Solidityオプティマイザはストレージ変数の変更を避けてくれるのか?

English version

ブロックチェーン上のスマートコントラクトを開発するに当たって実行コストである「ガス代」を削減することは重要な事です。消費Gasを削減するためのいくつかの有名なトリック があるのですが、そのうちの一つに「ストレージ変数の変更を避ける(Avoid changing storage data)」というのがあります。

例えばUniswapV2のスマートコントラクトにはこんな感じでgas savingsのトリックが至る所に施されています。

Uniswap/v2-core

自分でスマートコントラクトを書いたり、レビューしたりするときにはこの点常に気をつけているのですが、先日ふと「これあまりにも古典的なトリックなので、すでにSolidityのオプティマイザで解決されてるのでは?」と思い、最新のSolidityコンパイラ0.8.11で検証してみました。

Dec 8, 2021 - お知らせ

16ヶ月間の放浪生活を終えて、タイ・バンコクで再起動中

真栄田岬

なんとなく事態が緊迫している空気を感じ、コロナ禍のベトナム・ダナンから急遽思い立って帰国したのが2020年の7月でした。この日の翌日からベトナムと日本の定期便が停止となりましたのでギリギリ日本に滑り込んだというタイミングでした。この当時、完全にベトナムに移住していたため日本住むところがなく、またすぐにベトナムに帰るつもりだったので日本で居所を借りずにマンスリーマンションや民泊(AirBnBなど)を利用して日本各地を泊まり歩いていました。この放浪生活が最終的には16ヶ月続きました。

Feb 28, 2021 - 日記

ATOK for Macの環境設定

今年からこの日記を書き始めて日本語入力と英語入力を切り替える頻度が上がりました。macOSの日本語変換にイラッとする事が多くなり、ATOK for Mac を使ってみました。今日はATOKを使用した感想を書いてみたいと思います。

Feb 25, 2021 - 日記

sysstatは忘れずに

サーバがトラブルを起こして止まった後のトラブルシューティングで気づく、入れ忘れていたパッケージランキングのトップがsysstatでしょう。sarと言うコマンドを提供するこのパッケージは以下のようなCPUやメモリなどの使用状況を記録してくれます。

sysstatは忘れずにの画像

Feb 24, 2021 - 日記

BinanceSmartChainのProof-of-Staked-Authority

BinanceSmartChain (以下、BSC)が凄まじい勢いでトランザクションを増やしています。go-ethereum をベースとし、Ethereumのエコシステムを引き続きつつ、ステークによるコンセンサスアルゴリズムで早く・コストが安いトランザクションを実現しています。実際BSCにトランザクションを流してみると、BitcoinやEthereumメインネットが一世代前のものに見えます。

当初から言われているとおり、BSCの「早さ安さ」というのはセキュリティとのトレードオフで実現されています。今日は、BSCのコンセンサスアルゴリズムの中核となるProof of Staked Authorityがどんなものか本家ドキュメント から抜粋翻訳してみます。