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

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

なんとなく事態が緊迫している空気を感じ、コロナ禍のベトナム・ダナンから急遽思い立って帰国したのが2020年の7月でした。この日の翌日からベトナムと日本の定期便が停止となりましたのでギリギリ日本に滑り込んだというタイミングでした。この当時、完全にベトナムに移住していたため日本住むところがなく、またすぐにベトナムに帰るつもりだったので日本で居所を借りずにマンスリーマンションや民泊(AirBnBなど)を利用して日本各地を泊まり歩いていました。この放浪生活が最終的には16ヶ月続きました。
今年からこの日記を書き始めて日本語入力と英語入力を切り替える頻度が上がりました。macOSの日本語変換にイラッとする事が多くなり、ATOK for Mac
を使ってみました。今日はATOKを使用した感想を書いてみたいと思います。
リモートサーバと開発用Macのファイル同期をしているSyncThing
が同期エラーを出していました。

今日はこのエラーの対処をします。
そういえば今月テスラがビットコインを大量に購入した
と大きく報道されました。上場企業によるビットコイン保有は賛否両論あるとは思いますが、企業がリスク分散の目的でビットコインを一定量持つというのはありだと思います。もしテスラの資産管理がうまくいけば、今後のトレンドになるかもしれませんね。例えばこのサイト
にはビットコインを保有している企業がリストされています。このリストにあるような企業は当然ビットコインの相場の上下によって対米ドル資産価値が変わりますから株価も連動して上下します。このような企業の株を機を見て素早く取引できればもしかしたらひともうけできるかも?!と思いませんか?そんな夢見がちなあなたの無謀挑戦をブロックチェーン上のDeFi(分散金融)がかなえます。
サーバがトラブルを起こして止まった後のトラブルシューティングで気づく、入れ忘れていたパッケージランキングのトップがsysstat
でしょう。sar
と言うコマンドを提供するこのパッケージは以下のようなCPUやメモリなどの使用状況を記録してくれます。

BinanceSmartChain
(以下、BSC)が凄まじい勢いでトランザクションを増やしています。go-ethereum
をベースとし、Ethereumのエコシステムを引き続きつつ、ステークによるコンセンサスアルゴリズムで早く・コストが安いトランザクションを実現しています。実際BSCにトランザクションを流してみると、BitcoinやEthereumメインネットが一世代前のものに見えます。
当初から言われているとおり、BSCの「早さ安さ」というのはセキュリティとのトレードオフで実現されています。今日は、BSCのコンセンサスアルゴリズムの中核となるProof of Staked Authorityがどんなものか本家ドキュメント
から抜粋翻訳してみます。

GoogleSpreadSheetにCSVファイルを読み込むスクリプト
に続いて、今日はネット上に公開されているJSONファイルをGoogleSpreadSheetに取り込んでみます。
先日、ビットコインのUTXOの一覧から残高を調べたい用途に簡単なスクリプトを書きました。

ネットからダウンロードしたCSVファイルを、GoogleSpreadSheet
に展開するスクリプトをGooglAppsScript(GAS)で書きました。BasicAuthに対応しています。