Fragments of verbose memory

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

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 26, 2021 - 日記

DeFiで24時間365日いつでもTESLAの株が買える

そういえば今月テスラがビットコインを大量に購入した と大きく報道されました。上場企業によるビットコイン保有は賛否両論あるとは思いますが、企業がリスク分散の目的でビットコインを一定量持つというのはありだと思います。もしテスラの資産管理がうまくいけば、今後のトレンドになるかもしれませんね。例えばこのサイト にはビットコインを保有している企業がリストされています。このリストにあるような企業は当然ビットコインの相場の上下によって対米ドル資産価値が変わりますから株価も連動して上下します。このような企業の株を機を見て素早く取引できればもしかしたらひともうけできるかも?!と思いませんか?そんな夢見がちなあなたの無謀挑戦をブロックチェーン上のDeFi(分散金融)がかなえます。

Feb 25, 2021 - 日記

sysstatは忘れずに

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

Feb 24, 2021 - 日記

BinanceSmartChainのProof-of-Staked-Authority

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

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