Featured
注目の解説
Latest
最新記事
ERC-20の数量計算でNumberを使わない:BigInt・decimals・端数の扱い
ERC-20の数量をNumberへ変換すると桁が失われる理由を解説します。入力文字列とBigIntを使った最小単位への変換、decimals未取得、小数桁の超過、表示とJSON保存を実行例で確認します。
Ethereum RPCの0x・0x0・0x00は別物:QUANTITYとDATAの見分け方
Ethereum RPCの0x、0x0、0x00は同じゼロではありません。QUANTITYとDATAの形式、ABIの返り値、先頭ゼロ、空応答とnullを小さなパーサーで区別します。
abi.encodePackedの衝突はハッシュ前に起きる:abi.encodeとの違いを確認する
abi.encodePackedで複数の文字列を連結すると区切りが消える理由を解説します。同じバイト列になる例、abi.encodeとの違い、区切り文字や署名で残る注意点を確認します。
整数除算はどこで丸める?BigIntで検算するSolidityの計算順序
整数の割り算では、掛ける順序と丸める単位で結果が変わります。BigIntのゼロ方向への丸め、切り上げ、Solidityの演算幅、個別計算と合計計算の違いを実行例で整理します。
JavaScriptの文字数とバイト数は違う:UTF-16・UTF-8・絵文字をローカルで確認する
JavaScriptの文字数とUTF-8のバイト数が違う理由を、絵文字や結合文字で確認します。UTF-16、コードポイント、書記素クラスタ、正規化、壊さずに短くする処理を解説します。
Ethereumのハッシュが合わないときは?Keccak-256・SHA3-256・文字列とバイト列
同じつもりの入力でハッシュが違う原因を、アルゴリズム、16進数の解釈、改行、Unicode正規化、関数シグネチャへ分け、アカウントなしで検算します。
indexed stringはなぜログから読めない?検索用トピックと原文を分ける
イベントのindexed文字列がハッシュになる理由を、topicsとdataの違い、候補値の照合、通常のABI符号化との違いから説明します。実アカウントを使わず合成ログで検算します。
JSON-RPCの一括応答を配列順で読まない:id・部分失敗・欠損の検証
JSON-RPCのバッチ応答を送信順に対応付けるバグを、逆順の合成応答で再現。idの型、重複、未知id、部分失敗、null、通知を分けて検証します。
Solidityのmemory・storage・calldata:配列の代入はコピーか参照か
memoryへ代入した配列が一緒に変わる理由を、保存先と代入先から整理します。独立したコピー、状態の書き換え、calldataの変更禁止を小さなSolidityコードで確かめます。
Solidity 0.8でもuint8変換は値を切り捨てる:縮小変換と演算の違い
uint256をuint8へ変換したときの切り捨てを、演算オーバーフローと区別します。255・256の境界、変換前の検査、演算前の拡張、bytes型との違いを検証します。
3MIKANの読み方
仕組みをほどき、実例で確かめる技術メディアです。
図解で理解
複雑な仕組みを、図と例で順番に整理します。
実例とコード
検証コードやログを通じて、挙動を確かめます。
正確で誠実に
一次情報と再現性を大切にして発信します。










